######################################################################################## # Makefile for pcmics2 project # # # Application Config # FEATURES = -D_DATAVIS # # Parameters # CXX = g++ #CXXFLAGS = -g -Wall -D_DEBUG $(FEATURES) CXXFLAGS = -O -Wall $(FEATURES) LDFLAGS = -lpthread # # Files # COMMON_OBJS = sndbuf.o sndbuf_smart.o EXECUTABLES = pcmics2 \ dsp_capture \ dsp_play \ snd_compare \ snd_realtime \ gen_tone \ gen_noise \ unchannelize # # Global target # all: $(EXECUTABLES) # # GUI executable # PCMICS2_OBJS = pcmics2.o pcmics2_gui.o pcmics2_gui_snd.o pcmics2: $(PCMICS2_OBJS) $(COMMON_OBJS) $(CXX) $(CXXFLAGS) -o pcmics2 $(PCMICS2_OBJS) $(COMMON_OBJS) $(LDFLAGS) `gtk-config --cflags --libs` pcmics2_gui.o: pcmics2_gui.C $(CXX) $(CXXFLAGS) -c pcmics2_gui.C `gtk-config --cflags` # # Analysis executables # SND_COMPARE_OBJS = snd_compare.o snd_compare: $(SND_COMPARE_OBJS) $(COMMON_OBJS) $(CXX) $(CXXFLAGS) -o snd_compare $(SND_COMPARE_OBJS) $(COMMON_OBJS) SND_REALTIME_OBJS = snd_realtime.o snd_realtime: $(SND_REALTIME_OBJS) $(COMMON_OBJS) $(CXX) $(CXXFLAGS) -o snd_realtime $(SND_REALTIME_OBJS) $(COMMON_OBJS) # # Capture and playback executables # DSP_CAPTURE_OBJS = dsp_capture.o dsp_capture: $(DSP_CAPTURE_OBJS) $(COMMON_OBJS) $(CXX) $(CXXFLAGS) -o dsp_capture $(DSP_CAPTURE_OBJS) $(COMMON_OBJS) DSP_PLAY_OBJS = dsp_play.o dsp_play: $(DSP_PLAY_OBJS) $(COMMON_OBJS) $(CXX) $(CXXFLAGS) -o dsp_play $(DSP_PLAY_OBJS) $(COMMON_OBJS) # # Signal generation executables # GEN_TONE_OBJS = gen_tone.o gen_tone: $(GEN_TONE_OBJS) $(COMMON_OBJS) $(CXX) $(CXXFLAGS) -o gen_tone $(GEN_TONE_OBJS) $(COMMON_OBJS) GEN_NOISE_OBJS = gen_noise.o gen_noise: $(GEN_NOISE_OBJS) $(COMMON_OBJS) $(CXX) $(CXXFLAGS) -o gen_noise $(GEN_NOISE_OBJS) $(COMMON_OBJS) # # Misc utility executables # UNCHANNELIZE_OBJS = unchannelize.o unchannelize: $(UNCHANNELIZE_OBJS) $(COMMON_OBJS) $(CXX) $(CXXFLAGS) -o unchannelize $(UNCHANNELIZE_OBJS) $(COMMON_OBJS) # # Cleanup # clean: -rm *.o 2> /dev/null execlean: -rm $(EXECUTABLES) core 2> /dev/null distclean: clean execlean