X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=Makefile;h=b50a6cc5ded9e8acb566c7228d059a8abb935c24;hb=refs%2Fheads%2Fmaster;hp=0ff3668500a11df61e822370806e3ea8e9b7bddd;hpb=54c0ca2077820b3672b67528e1dc8006c0f9f2b1;p=revag-bap.git diff --git a/Makefile b/Makefile index 0ff3668..b50a6cc 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,60 @@ -CFLAGS += -Wall -g +LIBNAME := vag-bap -vw-bap-dump: vw-bap-dump.c vw-bap.c +BUILDDIR := build +STATICLIB := $(BUILDDIR)/lib$(LIBNAME).a + +INCLUDEDIR := include +HEADERS := $(shell find $(INCLUDEDIR)/) + +SRCDIR := src +SOURCES := $(shell find $(SRCDIR)/ -iname "*.c") +OBJS := $(patsubst %.c, $(BUILDDIR)/%.o, $(SOURCES)) + +INCLUDES := $(patsubst %, -I%, $(INCLUDEDIR)) +CFLAGS := -Wall -g + +TOOLDIR := tools +TOOLSOURCES := $(shell find $(TOOLDIR)/ -iname "*.c") +TOOLEXES := $(patsubst %.c, $(BUILDDIR)/%, $(TOOLSOURCES)) +TOOLLIBS := -lncurses + + + + + +.PHONY: tools +tools: $(TOOLEXES) + + +$(BUILDDIR)/$(TOOLDIR)/%: $(TOOLDIR)/%.c $(HEADERS) $(STATICLIB) + @if [ ! -d $(dir $@) ] ; then mkdir -p $(dir $@) ; fi + $(CC) $(INCLUDES) $(CFLAGS) -o $@ $< $(STATICLIB) $(TOOLLIBS) + + + +.PHONY: lib +lib: $(STATICLIB) + +$(STATICLIB): $(OBJS) + @if [ ! -d $(BUILDDIR) ] ; then echo "Error: Build dir '$(BUILDDIR)' does not exist." ; false ; fi + ar rcs $@ $^ + + +$(BUILDDIR)/$(SRCDIR)/%.o: $(SRCDIR)/%.c $(HEADERS) + @if [ ! -d $(dir $@) ] ; then mkdir -p $(dir $@) ; fi + $(CC) $(INCLUDES) $(CFLAGS) -c -o $@ $< + + + +.PHONY: clean +clean: + rm -f $(STATICLIB) + rm -f $(OBJS) + rm -f $(TOOLEXES) + rm -rf $(BUILDDIR)/ + + +.PHONY: distclean +distclean: clean + find . -xdev -name "*~" -exec rm {} \; + find . -xdev -name "core" -exec rm {} \;