1PACKAGES = peaks/test stmlib/utils peaks peaks/drums peaks/pulse_processor peaks/modulations peaks/number_station 2 3VPATH = $(PACKAGES) 4 5TARGET = peaks_test 6BUILD_ROOT = build/ 7BUILD_DIR = $(BUILD_ROOT)$(TARGET)/ 8CC_FILES = bass_drum.cc \ 9 fm_drum.cc \ 10 high_hat.cc \ 11 lfo.cc \ 12 multistage_envelope.cc \ 13 number_station.cc \ 14 peaks_test.cc \ 15 processors.cc \ 16 pulse_shaper.cc \ 17 pulse_randomizer.cc \ 18 random.cc \ 19 resources.cc \ 20 snare_drum.cc 21OBJ_FILES = $(CC_FILES:.cc=.o) 22OBJS = $(patsubst %,$(BUILD_DIR)%,$(OBJ_FILES)) $(STARTUP_OBJ) 23DEPS = $(OBJS:.o=.d) 24DEP_FILE = $(BUILD_DIR)depends.mk 25 26all: peaks_test 27 28$(BUILD_DIR): 29 mkdir -p $(BUILD_DIR) 30 31$(BUILD_DIR)%.o: %.cc 32 g++ -c -DTEST -g -Wall -Werror -I. $< -o $@ 33 34$(BUILD_DIR)%.d: %.cc 35 g++ -MM -DTEST -I. $< -MF $@ -MT $(@:.d=.o) 36 37peaks_test: $(OBJS) 38 g++ -o $(TARGET) $(OBJS) 39 40depends: $(DEPS) 41 cat $(DEPS) > $(DEP_FILE) 42 43$(DEP_FILE): $(BUILD_DIR) $(DEPS) 44 cat $(DEPS) > $(DEP_FILE) 45 46include $(DEP_FILE) 47