# This is the default makefile used to produce a static lib executable in the # same directory as the makefile. This executable does not contain debug references # The executable does not rely on libjpeg libpng or libzlib # fltk should have been configured as: # ./configure --enable-threads --enable-xft --enable-localjpeg --enable-localpng --enable-localzlib # CTARG = hamlib ifneq (,$(findstring hamlib-debug, $(CFG))) override CTARG = hamlib-debug endif ifneq (,$(findstring hamlib-static, $(CFG))) override CTARG = hamlib-static endif ifneq (,$(findstring nhl, $(CFG))) override CTARG = nhl endif ifneq (,$(findstring nhl-debug, $(CFG))) override CTARG = nhl-debug endif ifneq (,$(findstring nhl-static, $(CFG))) override CTARG = nhl-static endif ifneq (,$(findstring emcomm, $(CFG))) override CTARG = emcomm endif ifneq (,$(findstring nhl-emcomm, $(CFG))) override CTARG = nhl-emcomm endif #PROJECT = fldigi CC = g++ #"/usr/bin/g++" OBJ_DIR = ./Objects OUTPUT_DIR = ./Install TARGET = fldigi LIB_DIRS = -L"/usr/local/lib" C_INCLUDE_DIRS = -I"src" -I"src/include" CCFLAGS = `fltk-config --cxxflags` -Wno-deprecated -ffast-math -Wall -O2 -fno-rtti -fexceptions HAMLIBS = -lhamlib IMGLIBS = -lfltk_jpeg -lfltk_png -lfltk_z STATIC_LDFLAGS = -pipe `fltk-config --ldstaticflags --use-images` DYN_LDFLAGS = -pipe `fltk-config --ldflags --use-images` SRC_OBJS = \ $(OBJ_DIR)/fft.o \ $(OBJ_DIR)/waterfall.o \ $(OBJ_DIR)/sound.o \ $(OBJ_DIR)/fl_digi.o \ $(OBJ_DIR)/threads.o \ $(OBJ_DIR)/viterbi.o \ $(OBJ_DIR)/trx.o \ $(OBJ_DIR)/psk.o \ $(OBJ_DIR)/pskvaricode.o \ $(OBJ_DIR)/pskcoeff.o \ $(OBJ_DIR)/mfsk.o \ $(OBJ_DIR)/interleave.o \ $(OBJ_DIR)/mfskvaricode.o \ $(OBJ_DIR)/ascii.o \ $(OBJ_DIR)/globals.o \ $(OBJ_DIR)/modem.o \ $(OBJ_DIR)/misc.o \ $(OBJ_DIR)/fftfilt.o \ $(OBJ_DIR)/Config.o \ $(OBJ_DIR)/configuration.o \ $(OBJ_DIR)/filters.o \ $(OBJ_DIR)/TextView.o \ $(OBJ_DIR)/font_browser.o \ $(OBJ_DIR)/macros.o \ $(OBJ_DIR)/macroedit.o \ $(OBJ_DIR)/main.o \ $(OBJ_DIR)/ptt.o \ $(OBJ_DIR)/digiscope.o \ $(OBJ_DIR)/logger.o \ $(OBJ_DIR)/olivia.o \ $(OBJ_DIR)/dominoex.o \ $(OBJ_DIR)/dominovar.o \ $(OBJ_DIR)/wwv.o \ $(OBJ_DIR)/log.o \ $(OBJ_DIR)/pskmail.o \ $(OBJ_DIR)/cw.o \ $(OBJ_DIR)/rtty.o \ $(OBJ_DIR)/morse.o \ $(OBJ_DIR)/feld.o \ $(OBJ_DIR)/raster.o \ $(OBJ_DIR)/feldfonts.o \ $(OBJ_DIR)/analysis.o \ $(OBJ_DIR)/throb.o \ $(OBJ_DIR)/id.o \ $(OBJ_DIR)/picture.o \ $(OBJ_DIR)/samplerate.o \ $(OBJ_DIR)/src_linear.o \ $(OBJ_DIR)/src_sinc.o \ $(OBJ_DIR)/src_zoh.o \ $(OBJ_DIR)/combo.o \ $(OBJ_DIR)/File_Selector.o \ $(OBJ_DIR)/File_Selector2.o \ $(OBJ_DIR)/file_dir.o \ $(OBJ_DIR)/status.o \ $(OBJ_DIR)/qrzcall.o \ $(OBJ_DIR)/qrzlib.o \ $(OBJ_DIR)/FreqControl.o \ $(OBJ_DIR)/rigdialog.o \ $(OBJ_DIR)/rigsupport.o \ $(OBJ_DIR)/rigMEM.o \ $(OBJ_DIR)/rigio.o \ $(OBJ_DIR)/rigxml.o \ $(OBJ_DIR)/serial.o\ $(OBJ_DIR)/newinstall.o \ $(OBJ_DIR)/colorbox.o\ $(OBJ_DIR)/mixer.o HAMLIB_OBJS = \ $(OBJ_DIR)/hamlib.o \ $(OBJ_DIR)/rigclass.o define compile_source @echo Compiling $< @$(CC) $(C_INCLUDE_DIRS) $(CFLAGS) -c "$<" -o "$@" endef .PHONY: print_header directories ifeq ($(CTARG),hamlib) CFLAGS = $(CCFLAGS) -DPORTAUDIO LDFLAGS = $(DYN_LDFLAGS) -lportaudiocpp -lportaudio -lsndfile $(TARGET): print_header directories $(SRC_OBJS) $(HAMLIB_OBJS) $(CC) -s -o $(OUTPUT_DIR)/$(TARGET) $(SRC_OBJS) $(HAMLIB_OBJS) $(LDFLAGS) $(HAMLIBS) endif ifeq ($(CTARG),hamlib-static) CFLAGS = $(CCFLAGS) -DPORTAUDIO LDFLAGS = $(STATIC_LDFLAGS) \ /usr/local/lib/libportaudiocpp.a /usr/local/lib/libportaudio.a /usr/local/lib/libsndfile.a $(TARGET): print_header directories $(SRC_OBJS) $(HAMLIB_OBJS) $(CC) -s -o $(OUTPUT_DIR)/$(TARGET) $(SRC_OBJS) $(HAMLIB_OBJS) $(LDFLAGS) $(HAMLIBS) $(IMGLIBS) endif ifeq ($(CTARG),emcomm) CFLAGS = $(CCFLAGS) -DPORTAUDIO -DEMCOMM LDFLAGS = $(STATIC_LDFLAGS) \ /usr/local/lib/libportaudiocpp.a /usr/local/lib/libportaudio.a /usr/local/lib/libsndfile.a $(TARGET): print_header directories $(SRC_OBJS) $(HAMLIB_OBJS) $(CC) -s -o $(OUTPUT_DIR)/$(TARGET) $(SRC_OBJS) $(HAMLIB_OBJS) $(LDFLAGS) $(HAMLIBS) $(IMGLIBS) endif ifeq ($(CTARG),hamlib-debug) CFLAGS = $(CCFLAGS) -g -DPORTAUDIO LDFLAGS = $(DYN_LDFLAGS) -lportaudiocpp -lportaudio -lsndfile OBJS = $(SRC_OBJS) $(HAMLIB_OBJS) $(TARGET): print_header directories $(SRC_OBJS) $(HAMLIB_OBJS) $(CC) -o $(OUTPUT_DIR)/$(TARGET) $(OBJS) $(LDFLAGS) $(HAMLIBS) endif ifeq ($(CTARG),nhl) CFLAGS = $(CCFLAGS) -DNOHAMLIB -DPORTAUDIO LDFLAGS = $(DYN_LDFLAGS) -lportaudiocpp -lportaudio -lsndfile $(TARGET): print_header directories $(SRC_OBJS) $(CC) -s -o $(OUTPUT_DIR)/$(TARGET) $(SRC_OBJS) $(LDFLAGS) endif ifeq ($(CTARG),nhl-static) CFLAGS = $(CCFLAGS) -DNOHAMLIB -DPORTAUDIO LDFLAGS = $(STATIC_LDFLAGS) \ /usr/local/lib/libportaudiocpp.a /usr/local/lib/libportaudio.a /usr/local/lib/libsndfile.a $(TARGET): print_header directories $(SRC_OBJS) $(CC) -s -o $(OUTPUT_DIR)/$(TARGET) $(SRC_OBJS) $(LDFLAGS) $(IMGLIBS) endif ifeq ($(CTARG),nhl-debug) CFLAGS = $(CCFLAGS) -DNOHAMLIB -DPORTAUDIO -g LDFLAGS = $(DYN_LDFLAGS) -lportaudiocpp -lportaudio -lsndfile $(TARGET): print_header directories $(SRC_OBJS) $(CC) -o $(OUTPUT_DIR)/$(TARGET) $(SRC_OBJS) $(LDFLAGS) endif ifeq ($(CTARG),nhl-emcomm) CFLAGS = $(CCFLAGS) -DNOHAMLIB -DPORTAUDIO -DEMCOMM LDFLAGS = $(STATIC_LDFLAGS) \ /usr/local/lib/libportaudiocpp.a /usr/local/lib/libportaudio.a /usr/local/lib/libsndfile.a $(TARGET): print_header directories $(SRC_OBJS) $(CC) -s -o $(OUTPUT_DIR)/$(TARGET) $(SRC_OBJS) $(LDFLAGS) $(IMGLIBS) endif clean: @echo Deleting intermediate files for fldigi -@rm -rf $(OBJ_DIR) -@rm -rf $(OUTPUT_DIR)/$(TARGET) -@rm -rf *~ print_header: @echo --- Building fldigi @echo --- executable in directory $(OUTPUT_DIR) @echo --- object files in $(OBJ_DIR) directories: -@if [ ! -d $(OUTPUT_DIR) ]; then mkdir $(OUTPUT_DIR); fi -@if [ ! -d $(OBJ_DIR) ]; then mkdir $(OBJ_DIR); fi $(OBJ_DIR)/fft.o: src/fft/fft.cxx $(compile_source) $(OBJ_DIR)/waterfall.o: src/waterfall/waterfall.cxx $(compile_source) $(OBJ_DIR)/sound.o: src/soundcard/sound.cxx $(compile_source) $(OBJ_DIR)/fl_digi.o: src/dialogs/fl_digi.cxx $(compile_source) $(OBJ_DIR)/threads.o: src/misc/threads.cxx $(compile_source) $(OBJ_DIR)/viterbi.o: src/filters/viterbi.cxx $(compile_source) $(OBJ_DIR)/trx.o: src/trx/trx.cxx \ src/trx/tune.cxx $(compile_source) $(OBJ_DIR)/psk.o: src/psk/psk.cxx $(compile_source) $(OBJ_DIR)/pskvaricode.o: src/psk/pskvaricode.cxx $(compile_source) $(OBJ_DIR)/pskcoeff.o: src/psk/pskcoeff.cxx $(compile_source) $(OBJ_DIR)/mfsk.o: src/mfsk/mfsk.cxx $(compile_source) $(OBJ_DIR)/interleave.o: src/mfsk/interleave.cxx $(compile_source) $(OBJ_DIR)/mfskvaricode.o: src/mfsk/mfskvaricode.cxx $(compile_source) $(OBJ_DIR)/ascii.o: src/misc/ascii.cxx $(compile_source) $(OBJ_DIR)/globals.o: src/globals/globals.cxx $(compile_source) $(OBJ_DIR)/modem.o: src/trx/modem.cxx $(compile_source) $(OBJ_DIR)/misc.o: src/misc/misc.cxx $(compile_source) $(OBJ_DIR)/fftfilt.o: src/filters/fftfilt.cxx $(compile_source) $(OBJ_DIR)/Config.o: src/dialogs/Config.cxx $(compile_source) $(OBJ_DIR)/configuration.o: src/misc/configuration.cxx $(compile_source) $(OBJ_DIR)/filters.o: src/filters/filters.cxx $(compile_source) $(OBJ_DIR)/TextView.o: src/dialogs/TextView.cxx $(compile_source) $(OBJ_DIR)/font_browser.o: src/dialogs/font_browser.cxx $(compile_source) $(OBJ_DIR)/macros.o: src/misc/macros.cxx $(compile_source) $(OBJ_DIR)/main.o: src/main.cxx $(compile_source) $(OBJ_DIR)/ptt.o: src/rigcontrol/ptt.cxx $(compile_source) $(OBJ_DIR)/digiscope.o: src/waterfall/digiscope.cxx $(compile_source) $(OBJ_DIR)/logger.o: src/logger/logger.cxx $(compile_source) $(OBJ_DIR)/rigclass.o: src/rigcontrol/rigclass.cxx $(compile_source) $(OBJ_DIR)/hamlib.o: src/rigcontrol/hamlib.cxx $(compile_source) $(OBJ_DIR)/olivia.o: src/olivia/olivia.cxx $(compile_source) $(OBJ_DIR)/dominoex.o: src/dominoex/dominoex.cxx $(compile_source) $(OBJ_DIR)/dominovar.o: src/dominoex/dominovar.cxx $(compile_source) $(OBJ_DIR)/wwv.o: src/wwv/wwv.cxx $(compile_source) $(OBJ_DIR)/log.o: src/misc/log.cxx $(compile_source) $(OBJ_DIR)/pskmail.o: src/misc/pskmail.cxx $(compile_source) $(OBJ_DIR)/cw.o: src/cw_rtty/cw.cxx $(compile_source) $(OBJ_DIR)/rtty.o: src/cw_rtty/rtty.cxx $(compile_source) $(OBJ_DIR)/morse.o: src/cw_rtty/morse.cxx $(compile_source) $(OBJ_DIR)/feld.o: src/feld/feld.cxx $(compile_source) $(OBJ_DIR)/raster.o: src/waterfall/raster.cxx $(compile_source) $(OBJ_DIR)/feldfonts.o: src/feld/feldfonts.cxx \ src/feld/Feld7x7-14.cxx \ src/feld/Feld7x7n-14.cxx \ src/feld/FeldDx-14.cxx \ src/feld/FeldFat-14.cxx \ src/feld/FeldHell-12.cxx \ src/feld/FeldLittle-12.cxx \ src/feld/FeldLo8-14.cxx \ src/feld/FeldLow-14.cxx \ src/feld/FeldModern-14.cxx \ src/feld/FeldModern8-14.cxx \ src/feld/FeldNarr-14.cxx \ src/feld/FeldReal-14.cxx \ src/feld/FeldStyl-14.cxx \ src/feld/FeldVert-14.cxx \ src/feld/FeldWide-14.cxx $(compile_source) $(OBJ_DIR)/analysis.o: src/wwv/analysis.cxx $(compile_source) $(OBJ_DIR)/throb.o: src/throb/throb.cxx $(compile_source) $(OBJ_DIR)/id.o: src/ider/id.cxx $(compile_source) $(OBJ_DIR)/picture.o: src/widgets/picture.cxx $(compile_source) $(OBJ_DIR)/samplerate.o: src/samplerate/samplerate.c \ src/samplerate/srconfig.h \ src/samplerate/samplerate.h \ src/samplerate/common.h \ src/samplerate/float_cast.h $(compile_source) $(OBJ_DIR)/src_linear.o: src/samplerate/src_linear.c \ src/samplerate/srconfig.h \ src/samplerate/float_cast.h \ src/samplerate/common.h \ src/samplerate/samplerate.h $(compile_source) $(OBJ_DIR)/src_sinc.o: src/samplerate/src_sinc.c \ src/samplerate/srconfig.h \ src/samplerate/float_cast.h \ src/samplerate/common.h \ src/samplerate/samplerate.h \ src/samplerate/fastest_coeffs.h $(compile_source) $(OBJ_DIR)/src_zoh.o: src/samplerate/src_zoh.c \ src/samplerate/srconfig.h \ src/samplerate/float_cast.h \ src/samplerate/common.h \ src/samplerate/samplerate.h $(compile_source) $(OBJ_DIR)/combo.o: src/combo/combo.cxx $(compile_source) $(OBJ_DIR)/File_Selector.o: src/fileselector/File_Selector.cxx $(compile_source) $(OBJ_DIR)/File_Selector2.o: src/fileselector/File_Selector2.cxx $(compile_source) $(OBJ_DIR)/file_dir.o: src/fileselector/file_dir.cxx $(compile_source) $(OBJ_DIR)/status.o: src/misc/status.cxx $(compile_source) $(OBJ_DIR)/qrzcall.o: src/misc/qrzcall.cxx $(compile_source) $(OBJ_DIR)/qrzlib.o: src/misc/qrzlib.cxx $(compile_source) $(OBJ_DIR)/FreqControl.o: src/rigcontrol/FreqControl.cxx $(compile_source) $(OBJ_DIR)/rigdialog.o: src/rigcontrol/rigdialog.cxx $(compile_source) $(OBJ_DIR)/rigsupport.o: src/rigcontrol/rigsupport.cxx $(compile_source) $(OBJ_DIR)/rigMEM.o: src/rigcontrol/rigMEM.cxx $(compile_source) $(OBJ_DIR)/rigio.o: src/rigcontrol/rigio.cxx $(compile_source) $(OBJ_DIR)/rigxml.o: src/rigcontrol/rigxml.cxx $(compile_source) $(OBJ_DIR)/serial.o: src/rigcontrol/serial.cxx $(compile_source) $(OBJ_DIR)/newinstall.o: src/misc/newinstall.cxx $(compile_source) $(OBJ_DIR)/colorbox.o: src/waterfall/colorbox.cxx $(compile_source) $(OBJ_DIR)/mixer.o: src/soundcard/mixer.cxx $(compile_source) $(OBJ_DIR)/macroedit.o: src/misc/macroedit.cxx $(compile_source)