CC ?= @CC@ FFLAGS = @FFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ CPPFLAGS = @CPPFLAGS@ CFLAGS = @CFLAGS@ # WSJT specific C flags CFLAGS += -DBIGSYM=1 -fPIC DEFS = @DEFS@ CFLAGS += ${DEFS} CPPFLAGS += ${DEFS} -I. # WSJT specific Fortran flags 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 # 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=@OS@ FC=@FC@ COMPILER += @FC_LIB_PATH@ LDFLAGS += -L${COMPILER} LIBS += /usr/lib/libfftw3f.a PYTHON ?= @PYTHON@ RM ?= @RM@ F2PY = @F2PY@ ### all: portaudio-v19/lib/.libs/libportaudio.a Audio.so plrs plrr 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 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 SRCS2C = ptt.c igray.c wrapkarn.c rfile3.c wfile3.c OBJS2F77 = ${SRCS2F77:.f=.o} SRCS3C = ptt_unix.c igray.c wrapkarn.c cutil.c OBJS3C = ${SRCS3C:.c=.o} AUDIOSRCS = a2d.f90 jtaudio.c resample.c start_portaudio.c #Audio.so: $(OBJS2C) $(SRCS2F90) $(SRCS2F77) $(SRCS2C) # python f2py.py -c \ # --quiet --"fcompiler=compaqv" \ # --opt="/nologo /traceback /warn:errors /fast /fpp /define:Win32 \ # /define:USE_PORTAUDIO" \ # $(OBJS2C) \ # -lwinmm -lpa -lfftw3single -llibsamplerate \ # -m Audio \ # only: $(F2PYONLY) : \ # $(SRCS2F90) $(SRCS2F77) $(SRCS2C) ### portaudio-v19/lib/.libs/libportaudio.a: (cd portaudio-v19;./configure) (cd portaudio-v19;${MAKE}) deep65.o: deep65.F $(FC) -c -O0 -Wall -fPIC deep65.F Audio.so: $(OBJS2C) $(OBJS3C) $(OBJS2F77) $(SRCS2F90) $(AUDIOSRCS) ${F2PY} -c --quiet --opt="-O ${CFLAGS} \ -fno-second-underscore" $(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 $(FC) -o plrr plrr.f90 sec_midn.F90 plrr_subs.c cutil.c plrs: plrs.F90 sec_midn.F90 plrs_subs.c cutil.c $(CC) -c plrs_subs.c cutil.c $(FC) -o plrs plrs.F90 sec_midn.F90 plrs_subs.o cutil.o .PHONY : clean clean: ${RM} -f *.o *.pyc *.so *~ map65 # (cd portaudio-v19;${MAKE} clean) distclean: clean ${RM} -f config.log config.status Makefile (cd portaudio-v19;${MAKE} distclean)