154 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			154 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| # Makefile for MinGW on Windows
 | |
| #
 | |
| # Needed libraries are located using the following variables:
 | |
| #
 | |
| #   QT_DIR - point this at the root of your Qt installation
 | |
| #   FFTW3_DIR - point this at the fftw v3 installation directory
 | |
| #
 | |
| # e.g.
 | |
| #   make -f Makefile.MinGW \
 | |
| #    QT_DIR=c:/Qt/5.2.1/mingw48_32 \
 | |
| #    FFTW3_DIR = c:/fftw-3.3.3-dll32-2
 | |
| #
 | |
| # Windows re-direct:
 | |
| #   C> make > junk1 2>&1
 | |
| 
 | |
| # Set paths
 | |
| EXE_DIR = ..\\..\\wsjtx_install
 | |
| QT_DIR = C:/wsjt-env/Qt5/5.2.1/mingw48_32
 | |
| FFTW3_DIR = ..
 | |
| 
 | |
| INCPATH = -I${QT_DIR}/include/QtCore -I${QT_DIR}/include 
 | |
| 
 | |
| # Compilers
 | |
| CC = gcc
 | |
| CXX = g++
 | |
| FC = gfortran
 | |
| AR = ar cr
 | |
| RANLIB = ranlib
 | |
| MKDIR = mkdir -p
 | |
| CP = cp
 | |
| RM = rm -f
 | |
| 
 | |
| 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 = prog_args.o options.o pctile.o graycode.o sort.o ssort.o chkmsg.o \
 | |
| 	unpackmsg.o igray.o unpackcall.o unpackgrid.o \
 | |
| 	fmtmsg.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
 | |
| 
 | |
| libjt9.a: $(OBJS1)
 | |
| 	$(AR) libjt9.a $(OBJS1) 
 | |
| 	$(RANLIB) libjt9.a
 | |
| 
 | |
| OBJS2 = jt9.o jt9a.o jt9b.o jt9c.o ipcomm.o sec_midn.o usleep.o
 | |
| LIBS2 = -L${QT_DIR}/lib -lQt5Core
 | |
| jt9.exe: $(OBJS2) libjt9.a
 | |
| 	$(CXX) -o jt9.exe $(OBJS2) $(LIBS2) libjt9.a \
 | |
| 	-L$(FFTW3_DIR) -lfftw3f-3 $(shell $(FC) -print-file-name=lib$(FC).a)
 | |
| 	-$(MKDIR) $(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 -L$(FFTW3_DIR) -lfftw3f-3
 | |
| 
 | |
| 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) 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) *.o libjt9.a wsjtx.exe jt9sim.exe jt9.exe jt65.exe
 | 
