7 C_SOURCES := set.c mutableset.c element.c function.c order.c table.c predicate.c boolean.c csolver.c structs.c
9 OBJECTS := $(CPP_SOURCES:%.cc=$(OBJ_DIR)/%.o) $(C_SOURCES:%.c=$(OBJ_DIR)/%.o)
11 CPPFLAGS += -Iinclude -I.
12 LDFLAGS := -ldl -lrt -rdynamic
16 ifeq ($(UNAME), Darwin)
18 SHARED := -Wl,-undefined,dynamic_lookup -dynamiclib
21 MARKDOWN := ../docs/Markdown/Markdown.pl
23 all: directories $(LIB_SO)
25 directories: ${OBJ_DIR}
30 debug: CPPFLAGS += -DCONFIG_DEBUG
38 $(CXX) -g $(SHARED) -o $(LIB_SO) $+ $(LDFLAGS)
41 $(CC) -fPIC -c $< -o $@ $(CPPFLAGS) -Wno-unused-variable
44 $(CXX) -MMD -MF $@.d -o $@ -fPIC -c $< $(CPPFLAGS)
49 -include $(OBJECTS:%=$OBJ_DIR/.%.d)
65 uncrustify -c C.cfg --no-backup *.cc
66 uncrustify -c C.cfg --no-backup *.c
67 uncrustify -c C.cfg --no-backup *.h
71 # A 1-inch margin PDF generated by 'pandoc'
73 pandoc -o $@ $< -V header-includes='\usepackage[margin=1in]{geometry}'