MV ?= mv CC ?= gcc MKDIR ?= mkdir INSTALL= install FFLAGS = -O2 -C -threads -reentrancy threaded -traceback -static LDFLAGS = -L/usr/lib -L/usr/local/lib LIBS = -lpthread -lportaudio -lsamplerate -lfftw3f CPPFLAGS = -I/usr/include -I/usr/local/include CFLAGS = -Wall -O0 -g PREFIX = /usr/local/ # Map65 specific C flags CFLAGS += -DBIGSYM=1 -fPIC DEFS = -DPACKAGE_NAME=\"map65\" -DPACKAGE_TARNAME=\"map65\" -DPACKAGE_VERSION=\"0.9\" -DPACKAGE_STRING=\"map65\ 0.9\" -DPACKAGE_BUGREPORT=\"\" -DFC_LIB_PATH=\"/opt/g95-install/bin/../lib/gcc-lib/i686-pc-linux-gnu/4.1.3//\" -DFC=\"g95\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_SYS_RESOURCE_H=1 -DHAVE_SYS_PARAM_H=1 -DHAVE_ERRNO_H=1 -DHAVE_SYS_SYSLOG_H=1 -DHAVE_STDDEF_H=1 -DHAVE_LIBGEN_H=1 -DHAVE_SYS_WAIT_H=1 -DHAVE_WAIT_H=1 -DHAVE_STDIO_H=1 -DHAVE_TERMIOS_H=1 -DHAVE_SYS_RESOURCE_H=1 -DHAVE_LINUX_PPDEV_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_FCNTL_H=1 -DHAVE_SYS_IOCTL_H=1 -DTIME_WITH_SYS_TIME=1 -DSTRING_WITH_STRINGS=1 -DNDEBUG=1 -DHAS_SAMPLERATE_H=1 -DHAS_PORTAUDIO=1 -DHAS_PORTAUDIO_H=1 -DHAS_PORTAUDIO_LIB=1 -DHAS_FFTW3_H=1 -DHAS_FFTW3FLIBS=1 CFLAGS += ${DEFS} CPPFLAGS += ${DEFS} -I. # MAP65 specific Fortran flags # gfortran has no -Wno-precission-loss #FFLAGS += -Wall -fbounds-check -fno-second-underscore -fPIC#FFLAGS += -Wall -Wno-precision-loss -fbounds-check -fno-second-underscore -fPIC #FFLAGS += -Wall -fbounds-check -fno-second-underscore -ffixed-line-length-none -fPIC #FFLAGS += -Wall -fbounds-check -fno-second-underscore -fPIC #FFLAGS += -cpp -fno-second-underscore all: Audio.so plrs plrr # The default rules .c.o: ${CC} ${CPPFLAGS} ${CFLAGS} -c -o ${<:.c=.o} $< .f.o: ${FC} ${CPPFLAGS} ${FFLAGS} -c -o ${<:.f=.o} $< .F90.o: ${FC} ${CPPFLAGS} ${FFLAGS} -c -o ${<:.F90=.o} $< OS=Linux FC=ifort FCV=intel COMPILER += /opt/g95-install/bin/../lib/gcc-lib/i686-pc-linux-gnu/4.1.3// LDFLAGS += -L${COMPILER} PYTHON ?= /usr/bin/python RM ?= /bin/rm F2PY = /usr/bin/f2py ### OBJS2C = init_rs.o encode_rs.o decode_rs.o plrr_subs.o loc.o deep65.o F2PYONLY = ftn_init ftn_quit audio_init getfile azdist0 astro0 spec SRCS2F90 = astro0.F90 audio_init.F90 azdist0.f90 \ decode1.F90 ftn_init.F90 ftn_quit.f90 wsjtgen.F90 \ runqqq.F90 fivehz.F90 flushqqq.F90 \ rfile.f90 rfile3a.F90 spec.f90 map65a.F90 display.F90 \ getfile.F90 getfile2.F90 recvpkt.F90 savetf2.F90 \ symspec.f90 sec_midn.F90 getdphi.f90 thnix.f90 SRCS2F77 = indexx.f gen65.f chkmsg.f \ gentone.f gencwid.f set.f db.f pctile.f sort.f ssort.f \ avemsg65.f demod64a.f encode65.f extract.f four2a.f getpfx1.f \ getpfx2.f graycode.f grid2k.f interleave63.f k2grid.f \ morse.f nchar.f packcall.f packgrid.f \ packmsg.f packtext.f setup65.f unpackcall.f unpackgrid.f \ unpackmsg.f unpacktext.f astro.f azdist.f coord.f dcoord.f \ deg2grid.f dot.f ftsky.f geocentric.f GeoDist.f grid2deg.f \ moon2.f MoonDop.f sun.f toxyz.f pfxdump.f \ ccf65.f trimlist.f chkhist.f decode1a.f \ filbig.f fil6521.f twkfreq.f decode65b.f \ afc65b.f fchisq.f ccf2.f rfile2.f OBJS2F77 = ${SRCS2F77:.f=.o} SRCS3C = ptt_unix.c igray.c wrapkarn.c cutil.c fthread.c OBJS3C = ${SRCS3C:.c=.o} AUDIOSRCS = a2d.f90 jtaudio.c start_portaudio.c deep65.o: deep65.F $(FC) -c -O0 -Wall -fno-second-underscore -fPIC deep65.F Audio.so: $(OBJS2C) $(OBJS3C) $(OBJS2F77) $(SRCS2F90) $(AUDIOSRCS) ${F2PY} -c --quiet --opt="-O ${CFLAGS} \ ${FFLAGS}" $(OBJS2C) $(OBJS2F77) -m Audio \ --f77exec=${FC} --f90exec=${FC} ${CPPFLAGS} ${LDFLAGS} ${LIBS} \ only: $(F2PYONLY) \ : $(SRCS2F90) \ ${SRCS3C} ${AUDIOSRCS} init_rs_int.o: init_rs.c $(CC) $(CFLAGS) -c -DBIGSYM=1 -o init_rs_int.o init_rs.c encode_rs_int.o: encode_rs.c $(CC) $(CFLAGS) -c -DBIGSYM=1 -o encode_rs_int.o encode_rs.c decode_rs_int.o: decode_rs.c $(CC) $(CFLAGS) -c -DBIGSYM=1 -o decode_rs_int.o decode_rs.c plrr: plrr.F90 sec_midn.F90 plrr_subs.c cutil.c $(CC) -c plrs_subs.c cutil.c $(FC) -o plrr -fno-second-underscore plrr.F90 sec_midn.F90 plrr_subs.o cutil.o plrs: plrs.F90 sec_midn.F90 plrs_subs.c cutil.c $(CC) -c plrs_subs.c cutil.c $(FC) -o plrs -fno-second-underscore plrs.F90 sec_midn.F90 plrs_subs.o cutil.o .PHONY : clean clean: ${RM} -f *.o *.pyc *.so *~ map65 map65.spec distclean: clean ${RM} -f config.log config.status Makefile