From 76e6f8acaddcdd68a27438c067c0c408335fe543 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Fri, 28 Mar 2014 18:54:11 +0000 Subject: [PATCH] New Makefile.jtsdk allows easy building of jt9.exe from command line. (Many changes still needed to wsjtx.pro, in order to build from within QtCreator.) git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3945 ab8295b8-cf94-4d9e-aec4-7959e3be5d79 --- lib/Makefile.jtsdk | 137 +++++++++++++++++++++++++++++++++++++++++++++ ss.bat | 2 +- wsjtx.pro | 5 -- 3 files changed, 138 insertions(+), 6 deletions(-) create mode 100644 lib/Makefile.jtsdk diff --git a/lib/Makefile.jtsdk b/lib/Makefile.jtsdk new file mode 100644 index 000000000..4580414e8 --- /dev/null +++ b/lib/Makefile.jtsdk @@ -0,0 +1,137 @@ +# Makefile for MinGW on Windows +# Windows re-direct: +# C> make > junk1 2>&1 + +# Set paths +EXE_DIR = ../../wsjtx_install + +INCPATH = -I'C:/JTSDK-QT/Qt5/5.2.1/mingw48_32/include/QtCore' \ + -I'C:/JTSDK-QT/Qt5/5.2.1/mingw48_32/include/' + +# Compilers +CC = c:/JTSDK-QT/Qt5/Tools/mingw48_32/bin/gcc +FC = c:/JTSDK-QT/Qt5/Tools/mingw48_32/bin/gfortran +CXX = c:/JTSDK-QT/Qt5/Tools/mingw48_32/bin/g++ + +FFLAGS = -O2 -fbounds-check -Wall -Wno-precision-loss -fno-second-underscore +CFLAGS = -I. -fbounds-check -mno-stack-arg-probe + +# Default rules +%.o: %.c + ${CC} ${CFLAGS} -c $< +%.o: %.f + ${FC} ${FFLAGS} -c $< +%.o: %.F + ${FC} ${FFLAGS} -c $< +%.o: %.f90 + ${FC} ${FFLAGS} -c $< +%.o: %.F90 + ${FC} ${FFLAGS} -c $< + +all: libjt9.a libastro.a jt9.exe jt9code.exe jt65code.exe + +OBJS1 = pctile.o graycode.o sort.o ssort.o chkmsg.o \ + unpackmsg.o igray.o unpackcall.o unpackgrid.o \ + grid2k.o unpacktext.o getpfx2.o packmsg.o deg2grid.o \ + packtext.o getpfx1.o packcall.o k2grid.o packgrid.o \ + nchar.o four2a.o grid2deg.o pfxdump.o f77_wisdom.o \ + symspec.o analytic.o db.o genjt9.o flat1.o smo.o \ + packbits.o unpackbits.o encode232.o interleave9.o \ + entail.o fano232.o gran.o sync9.o decode9.o \ + fil3.o decoder.o grid2n.o n2grid.o timer.o \ + softsym.o getlags.o afc9.o fchisq.o twkfreq.o downsam9.o \ + peakdt9.o symspec2.o stdmsg.o morse.o azdist.o geodist.o \ + fillcom.o chkss2.o zplot9.o flat2.o \ + jt65a.o symspec65.o flat65.o ccf65.o decode65a.o \ + filbig.o fil6521.o afc65b.o decode65b.o setup65.o \ + extract.o fchisq65.o demod64a.o chkhist.o interleave63.o ccf2.o \ + move.o indexx.o graycode65.o twkfreq65.o smo121.o \ + wrapkarn.o init_rs.o encode_rs.o decode_rs.o gen65.o fil4.o \ + flat3.o polfit.o determ.o baddata.o prog_args.f90 \ + options.o prog_args.o + +libjt9.a: $(OBJS1) + ar cr libjt9.a $(OBJS1) + ranlib libjt9.a + +OBJS2 = jt9.o jt9a.o jt9b.o jt9c.o ipcomm.o sec_midn.o usleep.o +LIBS2 = -L'C:/JTSDK-QT/Qt5/5.2.1/mingw48_32/lib' -lQt5Core +jt9.exe: $(OBJS2) libjt9.a + $(CXX) -o jt9.exe -static $(OBJS2) $(LIBS2) libjt9.a \ + ../libfftw3f_win.a -lgfortran +# mkdir -p $(EXE_DIR) + cp jt9.exe $(EXE_DIR) + +OBJS3 = jt9sim.o +jt9sim.exe: $(OBJS3) libjt9.a + $(FC) -o jt9sim.exe $(OBJS3) libjt9.a + +OBJS4 = jt9code.o +jt9code.exe: $(OBJS4) libjt9.a + $(FC) -o jt9code.exe $(OBJS4) libjt9.a + cp jt9code.exe $(EXE_DIR) + +OBJS5 = jt65.o +jt65.exe: $(OBJS5) libjt9.a + $(FC) -o jt65.exe $(OBJS5) libjt9.a ../libfftw3f_win.a + +OBJS7 = astrosub.o astro0.o astro.o tm2.o grid2deg.o sun.o moondop.o \ + coord.o dot.o moon2.o tmoonsub.o toxyz.o geocentric.o \ + dcoord.o + +libastro.a: $(OBJS7) + ar cr libastro.a $(OBJS7) + ranlib libastro.a + +OBJS6 = jt65code.o +jt65code.exe: $(OBJS6) libjt9.a + $(FC) -o jt65code.exe $(OBJS6) libjt9.a + cp jt65code.exe $(EXE_DIR) + +sync9.o: sync9.f90 jt9sync.f90 + $(FC) $(FFLAGS) -c sync9.f90 + +spec9.o: spec9.f90 jt9sync.f90 + $(FC) $(FFLAGS) -c spec9.f90 + +peakdt9.o: peakdt9.f90 jt9sync.f90 + $(FC) $(FFLAGS) -c peakdt9.f90 + +jt9sim.o: jt9sim.f90 jt9sync.f90 + $(FC) $(FFLAGS) -c jt9sim.f90 + +genjt9.o: genjt9.f90 jt9sync.f90 + $(FC) $(FFLAGS) -c genjt9.f90 + +redsync.o: redsync.f90 jt9sync.f90 + $(FC) $(FFLAGS) -c redsync.f90 + +unpackmsg.o: unpackmsg.f90 + $(FC) -c -O0 -fbounds-check -Wall -Wno-precision-loss unpackmsg.f90 + +ipcomm.o: ipcomm.cpp + $(CXX) -c $(INCPATH) ipcomm.cpp + +sec_midn.o: sec_midn.f90 + $(FC) -c -fno-second-underscore sec_midn.f90 + +#rig_control.o: rig_control.c +# $(CC) -c -Wall -I..\..\..\hamlib-1.2.15.3\include rig_control.c + +tstrig.o: tstrig.c + $(CC) -c -Wall -I..\..\..\hamlib-1.2.15.3\include tstrig.c + +init_rs.o: init_rs.c + $(CC) -c -DBIGSYM=1 -o init_rs.o init_rs.c + +encode_rs.o: encode_rs.c + $(CC) -c -DBIGSYM=1 -o encode_rs.o encode_rs.c + +decode_rs.o: decode_rs.c + $(CC) -c -DBIGSYM=1 -o decode_rs.o decode_rs.c + + +.PHONY : clean + +clean: + rm -f *.o libjt9.a wsjtx.exe jt9sim.exe jt9.exe jt65.exe diff --git a/ss.bat b/ss.bat index 37f669a18..d8483ffc7 100644 --- a/ss.bat +++ b/ss.bat @@ -1 +1 @@ -svn status | grep -v '?' +svn status | grep -v "?" diff --git a/wsjtx.pro b/wsjtx.pro index d6ffcf157..279c067e4 100644 --- a/wsjtx.pro +++ b/wsjtx.pro @@ -26,11 +26,6 @@ QMAKE_EXTRA_COMPILERS += gfortran win32 { DEFINES += WIN32 -#F90 = g95 -#g95.output = ${QMAKE_FILE_BASE}.o -#g95.commands = $$F90 -c -O2 -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME} -#g95.input = F90_SOURCES -#QMAKE_EXTRA_COMPILERS += g95 QT += axcontainer TYPELIBS = $$system(dumpcpp -getfile {4FE359C5-A58F-459D-BE95-CA559FB4F270}) }