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