- first cut at a general Makefile for WSJT, it is *not* production quality

Still a lot of re-factoring to do with the .o etc. 

  (Reviewed and tested by Joe)



git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/trunk@57 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Diane Bruce 2006-01-07 16:51:20 +00:00
parent 558bcc2e6a
commit caf61a6624

View File

@ -1,7 +1,23 @@
gcc = CC
FC = g77
#
# This part all goes away when configure is written
#
gcc ?= CC
CC ?= cc
FC ?= f77
FC ?= g77
FFLAGS = -O -Wall -fbounds-check
OS=FreeBSD
G95=/usr/local/bin/g95
COMPILER=/usr/local/lib/gcc-lib/i386-unknown-freebsd5.4/4.0.1/
#OS=Linux
#G95=/usr/bin/g95
#COMPILER=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/
PYTHON ?= python
F2PY = "f2py.py"
# done to about here (when configure is written)
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 \
@ -9,10 +25,31 @@ 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
OBJS0= init_rs.o encode_rs.o decode_rs.o
SRCS0= init_rs.c encode_rs.c decode_rs.c
JT65SRCS = JT65code_all.f igray.o wrapkarn.o init_rs.o encode_rs.o decode_rs.o
#all: JT65code
all: JT65code
JT65code: $(OBJS1)
$(FC) -o JT65code $(OBJS1)
#Audio.so
JT65code_demo: $(OBJS1)
$(FC) -o JT65code_demo $(OBJS1)
# $(OBJS0) regenerated by Audio.so target for now
JT65code: Audio.so wrapkarn.o igray.o $(JT65SRCS) # $(OBJS0)
$(FC) -o JT65code $(JT65SRCS)
wrapkarn.o: wrapkarn.c
$(CC) -c wrapkarn.c
igray.o: igray.c
$(CC) -c igray.c
$(OBJS0): $(SRCS0)
$(CC) -c -DBIGSYM=1 $(SRCS0)
init_rs_int.o: init_rs.c
$(CC) -c -DBIGSYM=1 -o init_rs_int.o init_rs.c
@ -23,7 +60,19 @@ 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
Audio.so: $(OBJS0)
${PYTHON} ${F2PY} -c --quiet --opt="-O -cpp -D${OS} \
-fno-second-underscore" init_rs.o encode_rs.o decode_rs.o -m Audio \
--f77exec=${G95} --f90exec=${G95} -L${COMPILER} -lpthread -lg2c \
only: ftn_init ftn_quit audio_init spec getfile azdist0 astro0 \
: 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 wsjt1.f fsubs1.f fsubs.f astro.f astropak.f \
jtaudio.c ptt_unix.c igray.c wrapkarn.c start_threads.c cutil.c \
fivehz.f90
.PHONY : clean
clean:
-rm *.o JT65code
rm -f *.o *.so JT65code JT65code_demo