7 CPP_SOURCES := $(wildcard *.cc) $(wildcard AST/*.cc) $(wildcard ASTTransform/*.cc) $(wildcard ASTAnalyses/*.cc) $(wildcard Tuner/*.cc) $(wildcard Collections/*.cc) $(wildcard Backend/*.cc) $(wildcard Encoders/*.cc)
9 C_SOURCES := $(wildcard *.c) $(wildcard AST/*.c) $(wildcard ASTTransform/*.c) $(wildcard ASTAnalyses/*.c) $(wildcard Tuner/*.c) $(wildcard Collections/*.c) $(wildcard Backend/*.c) $(wildcard Encoders/*.c)
11 HEADERS := $(wildcard *.h) $(wildcard AST/*.h) $(wildcard ASTTransform/*.h) $(wildcard ASTAnalyses/*.h) $(wildcard Tuner/*.h) $(wildcard Collections/*.h) $(wildcard Backend/*.h) $(wildcard Encoders/*.h)
13 OBJECTS := $(CPP_SOURCES:%.cc=$(OBJ_DIR)/%.o) $(C_SOURCES:%.c=$(OBJ_DIR)/%.o)
15 CFLAGS := -Wall -g -O0
16 CFLAGS += -IAST -IASTTransform -IASTAnalyses -ICollections -IBackend -I. -IEncoders -ITuner
17 LDFLAGS := -ldl -lrt -rdynamic
21 ifeq ($(UNAME), Darwin)
23 SHARED := -Wl,-undefined,dynamic_lookup -dynamiclib
26 MARKDOWN := ../docs/Markdown/Markdown.pl
28 all: directories ${OBJ_DIR}/$(LIB_SO)
30 directories: ${OBJ_DIR}
34 ${MKDIR_P} ${OBJ_DIR}/AST
35 ${MKDIR_P} ${OBJ_DIR}/ASTAnalyses
36 ${MKDIR_P} ${OBJ_DIR}/ASTTransform
37 ${MKDIR_P} ${OBJ_DIR}/Tuner
38 ${MKDIR_P} ${OBJ_DIR}/Collections
39 ${MKDIR_P} ${OBJ_DIR}/Backend
40 ${MKDIR_P} ${OBJ_DIR}/Encoders
42 debug: CFLAGS += -DCONFIG_DEBUG
49 docs: $(C_SOURCES) $(HEADERS)
52 ${OBJ_DIR}/$(LIB_SO): $(OBJECTS)
53 $(CXX) -g $(SHARED) -o ${OBJ_DIR}/$(LIB_SO) $+ $(LDFLAGS)
56 $(CXX) -fPIC -c $< -o $@ $(CFLAGS) -Wno-unused-variable
59 $(CC) -fPIC -c $< -o $@ $(CFLAGS) -Wno-unused-variable
61 -include $(OBJECTS:%=$OBJ_DIR/.%.d)
77 uncrustify -c C.cfg --no-backup *.cc */*.cc
78 uncrustify -c C.cfg --no-backup *.h */*.h
81 wc */*.cc */*.h *.cc *.h