X-Git-Url: http://plrg.eecs.uci.edu/git/?p=satune.git;a=blobdiff_plain;f=src%2FMakefile;h=35468a08a24ab9c3dc1e1c3f3c1d32a3712f4653;hp=a5408beb76b1fb787d90eb8940288c3a112ca2b6;hb=0073b37bd741b59fe79857958d8276fc9128db0b;hpb=f146fe3406e020856ef3e0eccdb31e57e7be9895 diff --git a/src/Makefile b/src/Makefile index a5408be..35468a0 100644 --- a/src/Makefile +++ b/src/Makefile @@ -4,13 +4,14 @@ PHONY += directories MKDIR_P = mkdir -p OBJ_DIR = bin -C_SOURCES := set.c mutableset.c element.c function.c order.c table.c predicate.c boolean.c csolver.c structs.c constraint.c inc_solver.c +C_SOURCES := $(wildcard *.c) $(wildcard AST/*.c) $(wildcard Collections/*.c) $(wildcard Backend/*.c) $(wildcard Encoders/*.c) -TABBING_H := boolean.h classlist.h common.h config.h constraint.h csolver.h element.h function.h inc_solver.h mutableset.h mymemory.h ops.h order.h predicate.h set.h solver_interface.h structs.h table.h +HEADERS := $(wildcard *.h) $(wildcard AST/*.h) $(wildcard Collections/*.h) $(wildcard Backend/*.h) $(wildcard Encoders/*.h) OBJECTS := $(CPP_SOURCES:%.cc=$(OBJ_DIR)/%.o) $(C_SOURCES:%.c=$(OBJ_DIR)/%.o) -CPPFLAGS += -Iinclude -I. +CFLAGS := -Wall -g -O0 +CFLAGS += -IAST -ICollections -IBackend -I. -IEncoders LDFLAGS := -ldl -lrt -rdynamic SHARED := -shared @@ -22,31 +23,32 @@ endif MARKDOWN := ../docs/Markdown/Markdown.pl -all: directories $(LIB_SO) +all: directories ${OBJ_DIR}/$(LIB_SO) directories: ${OBJ_DIR} ${OBJ_DIR}: ${MKDIR_P} ${OBJ_DIR} + ${MKDIR_P} ${OBJ_DIR}/AST + ${MKDIR_P} ${OBJ_DIR}/Collections + ${MKDIR_P} ${OBJ_DIR}/Backend + ${MKDIR_P} ${OBJ_DIR}/Encoders -debug: CPPFLAGS += -DCONFIG_DEBUG +debug: CFLAGS += -DCONFIG_DEBUG debug: all +test: all + make -C Test + PHONY += docs -docs: *.c *.cc *.h +docs: $(C_SOURCES) $(HEADERS) doxygen -$(LIB_SO): $(OBJECTS) - $(CXX) -g $(SHARED) -o $(LIB_SO) $+ $(LDFLAGS) +${OBJ_DIR}/$(LIB_SO): $(OBJECTS) + $(CC) -g $(SHARED) -o ${OBJ_DIR}/$(LIB_SO) $+ $(LDFLAGS) ${OBJ_DIR}/%.o: %.c - $(CC) -fPIC -c $< -o $@ $(CPPFLAGS) -Wno-unused-variable - -${OBJ_DIR}/%.o: %.cc - $(CXX) -MMD -MF $@.d -o $@ -fPIC -c $< $(CPPFLAGS) - -%.pdf: %.dot - dot -Tpdf $< -o $@ + $(CC) -fPIC -c $< -o $@ $(CFLAGS) -Wno-unused-variable -include $(OBJECTS:%=$OBJ_DIR/.%.d) @@ -57,18 +59,17 @@ clean: PHONY += mrclean mrclean: clean - rm -rf docs + rm -rf ../docs PHONY += tags tags: ctags -R tabbing: - uncrustify -c C.cfg --no-backup *.c - uncrustify -c C.cfg --no-backup $(TABBING_H) + uncrustify -c C.cfg --no-backup *.c */*.c + uncrustify -c C.cfg --no-backup *.h */*.h -.PHONY: $(PHONY) +wc: + wc */*.c */*.h *.c *.h -# A 1-inch margin PDF generated by 'pandoc' -%.pdf: %.md - pandoc -o $@ $< -V header-includes='\usepackage[margin=1in]{geometry}' +.PHONY: $(PHONY)