MKDIR_P = mkdir -p
OBJ_DIR = bin
-CPP_SOURCES := $(wildcard *.cc) $(wildcard AST/*.cc) $(wildcard ASTTransform/*.cc) $(wildcard Translator/*.cc) $(wildcard ASTAnalyses/*.cc) $(wildcard ASTAnalyses/Order/*.cc) $(wildcard ASTAnalyses/Encoding/*.cc) $(wildcard ASTAnalyses/Polarity/*.cc) $(wildcard Tuner/*.cc) $(wildcard Collections/*.cc) $(wildcard Backend/*.cc) $(wildcard Encoders/*.cc) $(wildcard Serialize/*.cc)
+CPP_SOURCES := $(wildcard *.cpp)
-C_SOURCES := $(wildcard *.c) $(wildcard AST/*.c) $(wildcard ASTTransform/*.c) $(wildcard Translator/*.c) $(wildcard ASTAnalyses/*.c) $(wildcard ASTAnalyses/Order/*.c) $(wildcard ASTAnalyses/Encoding/*.c) $(wildcard ASTAnalyses/Polarity/*.c) $(wildcard Tuner/*.c) $(wildcard Collections/*.c) $(wildcard Backend/*.c) $(wildcard Encoders/*.c) $(wildcard Serialize/*.c)
+HEADERS := $(wildcard *.h)
-HEADERS := $(wildcard *.h) $(wildcard AST/*.h) $(wildcard ASTTransform/*.h) $(wildcard Translator/*.h) $(wildcard ASTAnalyses/*.h) $(wildcard ASTAnalyses/Order/*.h) $(wildcard ASTAnalyses/Encoding/*.h) $(wildcard ASTAnalyses/Polarity/*.h) $(wildcard Tuner/*.h) $(wildcard Collections/*.h) $(wildcard Backend/*.h) $(wildcard Encoders/*.h) $(wildcard Serialize/*.h)
+OBJECTS := $(CPP_SOURCES:%.cpp=$(OBJ_DIR)/%.o) $(C_SOURCES:%.c=$(OBJ_DIR)/%.o)
-OBJECTS := $(CPP_SOURCES:%.cc=$(OBJ_DIR)/%.o) $(C_SOURCES:%.c=$(OBJ_DIR)/%.o)
-
-CFLAGS := -Wall -O0 -g
-CFLAGS += -IAST -IASTTransform -IASTAnalyses -IASTAnalyses/Polarity -IASTAnalyses/Order -IASTAnalyses/Encoding -ITranslator -ICollections -IBackend -I. -IEncoders -ITuner -ISerialize
+CFLAGS := -Wall -O3 -g
+CFLAGS += -I.
LDFLAGS := -ldl -lrt -rdynamic -g
SHARED := -shared
MARKDOWN := ../docs/Markdown/Markdown.pl
-all: directories ${OBJ_DIR}/$(LIB_SO)
+all: directories ${OBJ_DIR}/$(LIB_SO) test
directories: ${OBJ_DIR}
+test: bin/lib_iotcloud.so
+ g++ -g -O3 Test.C -L./bin/ -l_iotcloud -lpthread -lbsd -o bin/Test
+ g++ -g -O3 Init.C -L./bin/ -l_iotcloud -lpthread -lbsd -o bin/init
+ g++ -g -O3 Update.C -L./bin/ -l_iotcloud -lpthread -lbsd -o bin/update
+ g++ -g -O3 Read.C -L./bin/ -l_iotcloud -lpthread -lbsd -o bin/read
+ sudo cp ./bin/*.so /usr/lib/
+
${OBJ_DIR}:
${MKDIR_P} ${OBJ_DIR}
- ${MKDIR_P} ${OBJ_DIR}/AST
- ${MKDIR_P} ${OBJ_DIR}/ASTAnalyses
- ${MKDIR_P} ${OBJ_DIR}/ASTAnalyses/Order
- ${MKDIR_P} ${OBJ_DIR}/ASTAnalyses/Encoding
- ${MKDIR_P} ${OBJ_DIR}/ASTAnalyses/Polarity
- ${MKDIR_P} ${OBJ_DIR}/ASTTransform
- ${MKDIR_P} ${OBJ_DIR}/Translator
- ${MKDIR_P} ${OBJ_DIR}/Tuner
- ${MKDIR_P} ${OBJ_DIR}/Collections
- ${MKDIR_P} ${OBJ_DIR}/Backend
- ${MKDIR_P} ${OBJ_DIR}/Encoders
- ${MKDIR_P} ${OBJ_DIR}/Serialize
debug: CFLAGS += -DCONFIG_DEBUG
debug: all
-test: all
- make -C Test
PHONY += docs
docs: $(C_SOURCES) $(HEADERS)
${OBJ_DIR}/$(LIB_SO): $(OBJECTS)
$(CXX) -g $(SHARED) -o ${OBJ_DIR}/$(LIB_SO) $+ $(LDFLAGS)
-${OBJ_DIR}/%.o: %.cc
+${OBJ_DIR}/%.o: %.cpp
$(CXX) -fPIC -c $< -o $@ $(CFLAGS) -Wno-unused-variable
-${OBJ_DIR}/%.o: %.c
- $(CC) -fPIC -c $< -o $@ $(CFLAGS) -Wno-unused-variable
-
-include $(OBJECTS:%=$OBJ_DIR/.%.d)
PHONY += clean
ctags -R
tabbing:
- uncrustify -c C.cfg --no-backup *.cc
+ uncrustify -c C.cfg --no-backup *.cpp
uncrustify -c C.cfg --no-backup *.h
wc:
- wc *.cc *.h
+ wc *.cpp *.h
.PHONY: $(PHONY)