1PACKAGES = stages/test stmlib/utils stages stages/ramp stmlib/dsp 2 3VPATH = $(PACKAGES) 4 5TARGET = stages_test 6BUILD_ROOT = build/ 7BUILD_DIR = $(BUILD_ROOT)$(TARGET)/ 8CC_FILES = ramp_extractor.cc \ 9 stages_test.cc \ 10 segment_generator.cc \ 11 resources.cc \ 12 units.cc 13OBJ_FILES = $(CC_FILES:.cc=.o) 14OBJS = $(patsubst %,$(BUILD_DIR)%,$(OBJ_FILES)) $(STARTUP_OBJ) 15DEPS = $(OBJS:.o=.d) 16DEP_FILE = $(BUILD_DIR)depends.mk 17 18all: stages_test 19 20$(BUILD_DIR): 21 mkdir -p $(BUILD_DIR) 22 23$(BUILD_DIR)%.o: %.cc 24 g++ -c -DTEST -g -Wall -Werror -msse2 -Wno-unused-variable -O2 -I. $< -o $@ 25 26$(BUILD_DIR)%.d: %.cc 27 g++ -MM -DTEST -I. $< -MF $@ -MT $(@:.d=.o) 28 29stages_test: $(OBJS) 30 g++ -g -o $(TARGET) $(OBJS) -Wl,-no_pie -lm -lprofiler -L/opt/local/lib 31 32depends: $(DEPS) 33 cat $(DEPS) > $(DEP_FILE) 34 35$(DEP_FILE): $(BUILD_DIR) $(DEPS) 36 cat $(DEPS) > $(DEP_FILE) 37 38profile: stages_test 39 env CPUPROFILE_FREQUENCY=1000 CPUPROFILE=$(BUILD_DIR)/stages.prof ./stages_test && pprof --pdf ./stages_test $(BUILD_DIR)/stages.prof > profile.pdf && open profile.pdf 40 41clean: 42 rm $(BUILD_DIR)*.* 43 44include $(DEP_FILE) 45