You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.3KB

  1. PACKAGES = elements/test stmlib/utils elements/dsp elements stmlib/dsp
  2. VPATH = $(PACKAGES)
  3. TARGET = elements_test
  4. BUILD_ROOT = build/
  5. BUILD_DIR = $(BUILD_ROOT)$(TARGET)/
  6. CC_FILES = ominous_voice.cc \
  7. elements_test.cc \
  8. exciter.cc \
  9. multistage_envelope.cc \
  10. part.cc \
  11. resonator.cc \
  12. resources.cc \
  13. random.cc \
  14. tube.cc \
  15. units.cc \
  16. voice.cc
  17. OBJ_FILES = $(CC_FILES:.cc=.o)
  18. OBJS = $(patsubst %,$(BUILD_DIR)%,$(OBJ_FILES)) $(STARTUP_OBJ)
  19. DEPS = $(OBJS:.o=.d)
  20. DEP_FILE = $(BUILD_DIR)depends.mk
  21. all: elements_test
  22. $(BUILD_DIR):
  23. mkdir -p $(BUILD_DIR)
  24. $(BUILD_DIR)%.o: %.cc
  25. /opt/local/bin/g++-mp-4.7 -c -DTEST -g -Wl,-no_pie -Wall -Werror -msse2 -Wno-unused-variable -O2 -I. $< -o $@
  26. $(BUILD_DIR)%.d: %.cc
  27. /opt/local/bin/g++-mp-4.7 -MM -DTEST -I. $< -MF $@ -MT $(@:.d=.o)
  28. elements_test: $(OBJS)
  29. /opt/local/bin/g++-mp-4.7 -g -o $(TARGET) $(OBJS) -Wl,-no_pie -lm -lprofiler -L/opt/local/lib
  30. depends: $(DEPS)
  31. cat $(DEPS) > $(DEP_FILE)
  32. $(DEP_FILE): $(BUILD_DIR) $(DEPS)
  33. cat $(DEPS) > $(DEP_FILE)
  34. profile: elements_test
  35. env CPUPROFILE_FREQUENCY=1000 CPUPROFILE=$(BUILD_DIR)/elements.prof ./elements_test && pprof --pdf ./elements_test $(BUILD_DIR)/elements.prof > profile.pdf && open profile.pdf
  36. include $(DEP_FILE)