diff --git a/Makefile.in b/Makefile.in index 327dce73a..d8cbd2e77 100644 --- a/Makefile.in +++ b/Makefile.in @@ -3,10 +3,21 @@ FFLAGS = @FFLAGS@ LDFLAGS = @LDFLAGS@ CPPFLAGS = @CPPFLAGS@ CFLAGS = @CFLAGS@ +# WSJT specific C flags +CFLAGS += -DBIGSYM=1 -# # WSJT specific Fortran flags -FFLAGS += -cpp -Wall -fbounds-check -fno-second-underscore +#FFLAGS += -cpp -Wall -fbounds-check -fno-second-underscore +FFLAGS += -cpp -fno-second-underscore +# The default rules +.c.o: + ${CC} ${CPPFLAGS} ${CFLAGS} -c -o ${<:.c=.o} $< + +.f.o: + ${G95} ${CPPFLAGS} ${FFLAGS} -c -o ${<:.f=.o} $< + +.f90.o: + ${G95} ${CPPFLAGS} ${FFLAGS} -c -o ${<:.f90=.o} $< OS=@OS@ G95=@G95@ @@ -16,10 +27,11 @@ FC=@G95@ LDFLAGS += -L${COMPILER} LDFLAGS += -lg2c -RM ?= @RM@ PYTHON ?= @PYTHON@ +RM ?= @RM@ F2PY = @F2PY@ + OBJS1 = JT65code.o nchar.o grid2deg.o packmsg.o packtext.o \ packcall.o packgrid.o unpackmsg.o unpacktext.o unpackcall.o \ unpackgrid.o deg2grid.o packdxcc.o chkmsg.o getpfx1.o \ @@ -27,18 +39,32 @@ OBJS1 = JT65code.o nchar.o grid2deg.o packmsg.o packtext.o \ igray.o init_rs_int.o encode_rs_int.o decode_rs_int.o \ wrapkarn.o -OBJS2C = init_rs.o encode_rs.o decode_rs.o F2PYONLY = ftn_init ftn_quit audio_init spec getfile azdist0 astro0 + SRCS2F90 = a2d.f90 abc441.f90 astro0.f90 audio_init.f90 azdist0.f90 \ blanker.f90 decode1.f90 decode2.f90 decode3.f90 ftn_init.f90 \ ftn_quit.f90 get_fname.f90 getfile.f90 horizspec.f90 hscroll.f90 \ i1tor4.f90 pix2d.f90 pix2d65.f90 rfile.f90 savedata.f90 spec.f90 \ wsjtgen.f90 runqqq.f90 fivehz.f90 -OBJS2F290 = ${SRCS2F90:.f90=.o} +OBJS2F90 = ${SRCS2F90:.f90=.o} + +SRCS2F77 = wsjt1.f astro.f astropak.f \ + avesp2.f bzap.f spec441.f spec2d.f mtdecode.f stdecode.f \ + indexx.f s2shape.f flat2.f gen65.f chkmsg.f gen6m.f gentone.f \ + syncf0.f syncf1.f synct.f decode6m.f avemsg6m.f \ + set.f flatten.f db.f pctile.f sort.f ssort.f ps.f smooth.f \ + ping.f longx.f peakup.f sync.f detect.f avemsg65.f decode65.f \ + demod64a.f encode65.f extract.f flat1.f four2.f rfile2.f \ + gencw.f getpfx1.f getpfx2.f getsnr.f graycode.f grid2k.f \ + interleave63.f k2grid.f limit.f lpf1.f deep65.f morse.f \ + nchar.f packcall.f packgrid.f packmsg.f packtext.f setup65.f \ + short65.f slope.f spec2d65.f sync65.f unpackcall.f \ + unpackgrid.f unpackmsg.f unpacktext.f xcor.f xfft.f wsjt65.f +OBJS2F77 = ${SRCS2F77:.f=.o} + +SRCS2C = init_rs.c encode_rs.c decode_rs.c +OBJS2C = ${SRCS2C:.c=.o} -SRCS2F77 = wsjt1.f fsubs1.f fsubs.f astro.f astropak.f -OBJS2F77 = ${SRCS2F77:.f=.o} -# # ok, so far for now # Windows @AUDIO@ will be jtaudio.c since it uses portaudio # for *nix @AUDIO@ will also be jtaudio.c and start_threads.c @@ -53,8 +79,9 @@ OBJS2F77 = ${SRCS2F77:.f=.o} # to minimise #ifdef's # --db # -SRCS2C = ptt_unix.c igray.c wrapkarn.c cutil.c -SRCS2C += @AUDIO@ +SRCS3C = ptt_unix.c igray.c wrapkarn.c cutil.c +SRCS3C += @AUDIO@ +OBJS3C = ${SRCS3C:.c=.o} all: wsjt6 JT65code: $(OBJS1) @@ -66,50 +93,18 @@ wsjt6: Audio.so #wsjt.spec # # -Audio.so: $(OBJS2C) $(OBJS2F90) $(OBJS2F77) - ${F2PY} -c --verbose --opt="-O -cpp -D${CFLAGS} \ - -fno-second-underscore" $(OBJS2C) -m Audio \ +Audio.so: $(OBJS2C) $(OBJS3C) $(OBJS2F77) $(SRCS2F90) + ${F2PY} -c --quiet --opt="-O -cpp -D${CFLAGS} \ + -fno-second-underscore" $(OBJS2C) $(OBJS2F77) -m Audio \ --f77exec=${G95} --f90exec=${G95} ${CPPFLAGS} ${LDFLAGS} \ only: $(F2PYONLY) \ : $(SRCS2F90) \ - $(SRCS2F77) \ - ${SRCS2C} + ${SRCS3C} wsjt.spec: wsjt.py astro.py g.py options.py palettes.py smeter.py specjt.py # ${PYTHON} c:\python23\installer\makespec.py --icon wsjt.ico \ # --tk --onefile wsjt.py -# -# compiles which are "non standard" -# and should not be compiled by the default .c to .o rule -# -init_rs_int.o: init_rs.c - $(CC) -c -DBIGSYM=1 -o init_rs_int.o init_rs.c - -encode_rs_int.o: encode_rs.c - $(CC) -c -DBIGSYM=1 -o encode_rs_int.o encode_rs.c - -decode_rs_int.o: decode_rs.c - $(CC) -c -DBIGSYM=1 -o decode_rs_int.o decode_rs.c - -init_rs.o: init_rs.c - $(CC) -c -DBIGSYM=1 init_rs.c - -encode_rs.o: encode_rs.c - $(CC) -c -DBIGSYM=1 encode_rs.c - -decode_rs.o: decode_rs.c - $(CC) -c -DBIGSYM=1 decode_rs.c - -# The default rules -.c.o: - ${CC} ${CPPFLAGS} ${CFLAGS} -c -o ${<:.c=.o} $< - -.f.o: - ${G95} ${CPPFLAGS} ${FFLAGS} -c -o ${<:.f=.o} $< - -.f90.o: - ${G95} ${CPPFLAGS} ${FFLAGS} -c -o ${<:.f90=.o} $< .PHONY : clean clean: