CC=gcc UNAME := $(shell uname) DEBUG ?= 0 ifeq ($(DEBUG), 1) CFLAGS=-O0 $(INCLUDES) -Wall -g -DDEBUG -I ../src/common/ LDFLAGS= -lc -lm -ldl -lpthread -lasan else CFLAGS=-O3 $(INCLUDES) -Wall -I ../src/common/ LDFLAGS= -lc -lm -ldl -s endif ifeq ($(UNAME), Darwin) CFLAGS += -arch x86_64 -mmacosx-version-min=10.9 LDFLAGS += -arch x86_64 -mmacosx-version-min=10.9 endif ifeq ($(UNAME), Linux) LDFLAGS += -Wl,-rpath=. endif ifeq ($(findstring CYGWIN,$(shell uname)),CYGWIN) endif EXEC=broadcast_tv broadcast_fm rf_jammer all: $(EXEC) broadcast_fm: broadcast_fm.o rds.o rds_stream_dump.o wave.o modulator.o FIR_Audio_Filter_Filter.o FM_Baseband_Filter.o AudioPreemphasis_Filter.o FIR_RDS_Passband_Filter.o hxcmod.o rand_gen.o $(CC) -o $@ $^ $(LDFLAGS) broadcast_tv: broadcast_tv.o composite.o wave.o modulator.o bmp_file.o $(CC) -o $@ $^ $(LDFLAGS) rf_jammer: rf_jammer.o wave.o modulator.o rand_gen.o composite.o $(CC) -o $@ $^ $(LDFLAGS) broadcast_fm.o: ../src/broadcast_fm/broadcast_fm.c $(CC) -o $@ -c $< $(CFLAGS) rf_jammer.o: ../src/rf_jammer/rf_jammer.c $(CC) -o $@ -c $< $(CFLAGS) rds.o: ../src/broadcast_fm/rds.c $(CC) -o $@ -c $< $(CFLAGS) rds_stream_dump.o: ../src/broadcast_fm/rds_stream_dump.c $(CC) -o $@ -c $< $(CFLAGS) utils.o: ../src/common/utils.c $(CC) -o $@ -c $< $(CFLAGS) wave.o: ../src/common/wave.c $(CC) -o $@ -c $< $(CFLAGS) modulator.o: ../src/common/modulator.c $(CC) -o $@ -c $< $(CFLAGS) FIR_Audio_Filter_Filter.o: ../src/broadcast_fm/fir_filters/FIR_Audio_Filter_Filter.c $(CC) -o $@ -c $< $(CFLAGS) FM_Baseband_Filter.o: ../src/broadcast_fm/fir_filters/FM_Baseband_Filter.c $(CC) -o $@ -c $< $(CFLAGS) FIR_RDS_Passband_Filter.o: ../src/broadcast_fm/fir_filters/FIR_RDS_Passband_Filter.c $(CC) -o $@ -c $< $(CFLAGS) AudioPreemphasis_Filter.o: ../src/broadcast_fm/fir_filters/AudioPreemphasis_Filter.c $(CC) -o $@ -c $< $(CFLAGS) hxcmod.o: ../src/common/hxcmod/hxcmod.c $(CC) -o $@ -c $< $(CFLAGS) bmp_file.o: ../src/common/bmp_file.c $(CC) -o $@ -c $< $(CFLAGS) rand_gen.o: ../src/common/rand_gen.c $(CC) -o $@ -c $< $(CFLAGS) composite.o: ../src/broadcast_tv/composite.c $(CC) -o $@ -c $< $(CFLAGS) broadcast_tv.o: ../src/broadcast_tv/broadcast_tv.c $(CC) -o $@ -c $< $(CFLAGS) clean: rm -rf *.o rm -rf *.so mrproper: clean rm -rf $(EXEC) .PHONY: clean mrproper