2006-01-07 17:40:26 -05:00
|
|
|
CC ?= @CC@
|
2006-01-09 14:18:03 -05:00
|
|
|
FFLAGS = @FFLAGS@
|
|
|
|
LDFLAGS = @LDFLAGS@
|
2006-08-10 15:36:41 -04:00
|
|
|
LIBS = @LIBS@
|
2006-01-09 14:18:03 -05:00
|
|
|
CPPFLAGS = @CPPFLAGS@
|
2006-01-09 21:43:23 -05:00
|
|
|
CFLAGS = @CFLAGS@
|
2006-01-12 20:50:01 -05:00
|
|
|
# WSJT specific C flags
|
2006-04-05 16:07:32 -04:00
|
|
|
CFLAGS += -DBIGSYM=1 -fPIC
|
2006-01-15 21:07:25 -05:00
|
|
|
DEFS = @DEFS@
|
|
|
|
CFLAGS += ${DEFS}
|
2006-04-05 16:07:32 -04:00
|
|
|
CPPFLAGS += ${DEFS} -I.
|
2006-01-12 00:13:07 -05:00
|
|
|
|
2006-01-07 17:40:26 -05:00
|
|
|
# WSJT specific Fortran flags
|
2006-04-05 16:07:32 -04:00
|
|
|
FFLAGS += -Wall -fbounds-check -fno-second-underscore -ffixed-line-length-none -fPIC
|
|
|
|
#FFLAGS += -Wall -fbounds-check -fno-second-underscore -fPIC
|
2006-01-15 21:07:25 -05:00
|
|
|
#FFLAGS += -cpp -fno-second-underscore
|
2006-01-12 20:50:01 -05:00
|
|
|
# The default rules
|
|
|
|
.c.o:
|
|
|
|
${CC} ${CPPFLAGS} ${CFLAGS} -c -o ${<:.c=.o} $<
|
|
|
|
|
|
|
|
.f.o:
|
2006-04-13 00:50:00 -04:00
|
|
|
${FC} ${CPPFLAGS} ${FFLAGS} -c -o ${<:.f=.o} $<
|
2006-01-12 20:50:01 -05:00
|
|
|
|
2006-04-05 16:07:32 -04:00
|
|
|
.F90.o:
|
2006-04-13 00:50:00 -04:00
|
|
|
${FC} ${CPPFLAGS} ${FFLAGS} -c -o ${<:.F90=.o} $<
|
2006-01-07 17:40:26 -05:00
|
|
|
|
|
|
|
OS=@OS@
|
2006-04-13 00:50:00 -04:00
|
|
|
FC=@FC@
|
|
|
|
COMPILER += @FC_LIB_PATH@
|
2006-01-07 17:40:26 -05:00
|
|
|
|
2006-01-09 14:18:03 -05:00
|
|
|
LDFLAGS += -L${COMPILER}
|
|
|
|
|
2006-01-11 15:16:13 -05:00
|
|
|
PYTHON ?= @PYTHON@
|
2006-01-12 20:50:01 -05:00
|
|
|
RM ?= @RM@
|
2006-01-07 17:40:26 -05:00
|
|
|
F2PY = @F2PY@
|
|
|
|
|
2006-01-12 20:50:01 -05:00
|
|
|
|
2006-01-07 17:40:26 -05:00
|
|
|
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 \
|
|
|
|
getpfx2.o k2grid.o grid2k.o interleave63.o graycode.o set.o \
|
|
|
|
igray.o init_rs_int.o encode_rs_int.o decode_rs_int.o \
|
|
|
|
wrapkarn.o
|
|
|
|
|
2006-01-07 22:54:50 -05:00
|
|
|
F2PYONLY = ftn_init ftn_quit audio_init spec getfile azdist0 astro0
|
2006-01-12 20:50:01 -05:00
|
|
|
|
2006-04-05 16:07:32 -04:00
|
|
|
SRCS2F90 = 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
|
2006-01-12 20:50:01 -05:00
|
|
|
OBJS2F90 = ${SRCS2F90:.f90=.o}
|
|
|
|
|
2006-01-25 13:51:57 -05:00
|
|
|
SRCS2F77 = wsjt1.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 \
|
2006-01-12 20:50:01 -05:00
|
|
|
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 \
|
2006-07-29 12:15:45 -04:00
|
|
|
unpackgrid.f unpackmsg.f unpacktext.f xcor.f xfft.f xfft2.f wsjt65.f \
|
|
|
|
ftpeak65.f fil651.f fil652.f fil653.f symsync65.f
|
|
|
|
|
2006-01-12 20:50:01 -05:00
|
|
|
OBJS2F77 = ${SRCS2F77:.f=.o}
|
|
|
|
|
|
|
|
SRCS2C = init_rs.c encode_rs.c decode_rs.c
|
|
|
|
OBJS2C = ${SRCS2C:.c=.o}
|
2006-01-12 00:13:07 -05:00
|
|
|
|
2006-01-09 21:43:23 -05:00
|
|
|
# ok, so far for now
|
2006-01-14 11:15:50 -05:00
|
|
|
# Windows @AUDIO@ will be a2d.f90 jtaudio.c since it uses portaudio
|
|
|
|
# for *nix @AUDIO@ will also be a2d.f90, jtaudio.c
|
|
|
|
# and start_portaudio.c for systems using portaudio
|
2006-01-14 10:47:35 -05:00
|
|
|
# for *nix @AUDIO@ will be start_alsa.c for alsa
|
|
|
|
# for *nix @AUDIO@ will be start_oss.c for oss
|
2006-01-09 14:18:03 -05:00
|
|
|
#
|
|
|
|
# ptt_unix.c vs. ptt.c I'll sort out later.
|
|
|
|
# ditto for cutil.c (only used on *nix)
|
|
|
|
# --db
|
2006-01-09 21:43:23 -05:00
|
|
|
# jtaudio.c/start_threads.c mess will have to be sorted out later
|
|
|
|
# to minimise #ifdef's
|
|
|
|
# --db
|
2006-01-14 11:15:50 -05:00
|
|
|
# and mostly sorted
|
|
|
|
# --db
|
2006-01-09 14:18:03 -05:00
|
|
|
#
|
2006-07-06 09:44:34 -04:00
|
|
|
# @NEEDPORTAUDIO@ will be filled in with libportaudio.a if portaudio is used
|
|
|
|
#
|
2006-01-12 20:50:01 -05:00
|
|
|
SRCS3C = ptt_unix.c igray.c wrapkarn.c cutil.c
|
|
|
|
OBJS3C = ${SRCS3C:.c=.o}
|
2006-01-14 11:15:50 -05:00
|
|
|
AUDIOSRCS = @AUDIO@
|
2006-01-07 22:54:50 -05:00
|
|
|
|
|
|
|
all: wsjt6
|
2006-07-06 09:44:34 -04:00
|
|
|
|
2006-01-07 22:54:50 -05:00
|
|
|
JT65code: $(OBJS1)
|
|
|
|
$(FC) -o JT65code $(OBJS1)
|
|
|
|
|
2006-08-09 15:51:29 -04:00
|
|
|
portaudio-v19/lib/.libs/libportaudio.a:
|
2006-07-06 09:44:34 -04:00
|
|
|
(cd portaudio-v19;./configure --with-jack=no)
|
|
|
|
(cd portaudio-v19;${MAKE})
|
|
|
|
|
|
|
|
wsjt6: @NEEDPORTAUDIO@ Audio.so #wsjt.spec
|
2006-01-07 22:54:50 -05:00
|
|
|
# ${PYTHON} c:\python23\installer\Build.py wsjt.spec
|
|
|
|
# ${RM} wsjt6
|
|
|
|
|
2006-09-06 14:09:05 -04:00
|
|
|
deep65.o: deep65.F
|
|
|
|
$(FC) -c -O0 -Wall deep65.F
|
|
|
|
|
2006-01-14 11:15:50 -05:00
|
|
|
Audio.so: $(OBJS2C) $(OBJS3C) $(OBJS2F77) $(SRCS2F90) $(AUDIOSRCS)
|
2006-04-05 16:07:32 -04:00
|
|
|
${F2PY} -c --quiet --opt="-O ${CFLAGS} \
|
2006-01-12 20:50:01 -05:00
|
|
|
-fno-second-underscore" $(OBJS2C) $(OBJS2F77) -m Audio \
|
2006-08-10 15:36:41 -04:00
|
|
|
--f77exec=${FC} --f90exec=${FC} ${CPPFLAGS} ${LDFLAGS} ${LIBS} \
|
2006-01-07 22:54:50 -05:00
|
|
|
only: $(F2PYONLY) \
|
|
|
|
: $(SRCS2F90) \
|
2006-01-14 11:15:50 -05:00
|
|
|
${SRCS3C} ${AUDIOSRCS}
|
2006-01-07 17:40:26 -05:00
|
|
|
|
2006-01-07 22:54:50 -05:00
|
|
|
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
|
2006-01-07 17:40:26 -05:00
|
|
|
|
2006-01-07 22:54:50 -05:00
|
|
|
|
2006-01-07 17:40:26 -05:00
|
|
|
.PHONY : clean
|
|
|
|
clean:
|
2006-08-09 16:04:28 -04:00
|
|
|
${RM} -f *.o *.pyc *.so *~ JT65code wsjt6
|
2006-07-06 09:44:34 -04:00
|
|
|
(cd portaudio-v19;${MAKE} clean)
|