BASEDIR = ../../src/ BASEFILES = $(BASEDIR)/filters.cpp $(BASEDIR)/filter_dec.cpp $(BASEDIR)/filter_int.cpp \ $(BASEDIR)/filter_iir.cpp $(BASEDIR)/filter_iirsos.cpp $(BASEDIR)/filter_dsvf.cpp \ $(BASEDIR)/filter_mavg.cpp $(BASEDIR)/filterchain.cpp $(BASEDIR)/filterhelpers.cpp BASEHEADERS = $(BASEDIR)/filter.h $(BASEDIR)/filters.h $(BASEDIR)/filterchain.h BASEOBJS = $(BASEFILES:.cpp=.o) # Custom IPP path or the one from DiFX environment # IPP_PATH = /cluster/intel/ipp/6.1.2.051/em64t/ # IPP_PATH = /cluster/intel/ipp/5.3.1.062/em64t/ IPP_PATH = $(IPPROOT) CC = g++ # normal compile: #CFLAGS = -pthread -g -O2 -c -Wall -Wstrict-aliasing -I$(BASEDIR) -DDEBUG_V=1 -m64 CFLAGS = -pthread -g -O2 -c -Wall -Wstrict-aliasing -I$(BASEDIR) -m64 # for 'oprofile' profiling: # CFLAGS = -pthread -g -O0 -fno-inline -fno-default-inline -c -Wall all: filter_test filter_parse filter_data clean: rm -f filter_test filter_test.o filter_parse filter_parse.o rm -f $(BASEOBJS) intel_CFLAGS = $(CFLAGS) -DINTEL_IPP=1 -I${IPP_PATH}/include/ -I. -I./IA-32/ intel_LDFLAGS = -pthread -L${IPP_PATH}/sharedlib/ -L${IPP_PATH}/lib/ #-liomp5 LBITS := $(shell getconf LONG_BIT) ifeq ($(LBITS),64) intel_LDINCL = -lm -lippsem64t -lippvmem64t -lippmem64t -B -lguide -lippcoreem64t else intel_LDINCL = -lm -lippcore -lipps -lguide -lippvm -lippm endif filter_test: $(BASEOBJS) $(BASEFILES) $(BASEHEADERS) filter_test.cpp filter_test.o $(CC) $(intel_LDFLAGS) $(intel_LDINCL) $(BASEOBJS) filter_test.o -o filter_test filter_parse: $(BASEOBJS) $(BASEFILES) $(BASEHEADERS) filter_parse.cpp filter_parse.o $(CC) $(intel_LDFLAGS) $(intel_LDINCL) $(BASEOBJS) filter_parse.o -o filter_parse filter_data: $(BASEOBJS) $(BASEFILES) $(BASEHEADERS) filter_data.cpp filter_data.o $(CC) $(intel_LDFLAGS) $(intel_LDINCL) $(BASEOBJS) filter_data.o -o filter_data .cpp.o: $(CC) $(intel_CFLAGS) $< -o $@