mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-13 23:51:49 -05:00
1ff68d5098
The lib/Makefile.MinGW makefile has been enhanced to link to the DLL version of fftw3 which is the normal version of the library that you get with the Windows installer. The library is located by passing the FFTW3_DIR variable on the make command line. For example on my system: $ # In a MinGW console $ cd ~/src/wsjtx/lib $ make QT_DIR=/c/Tools/Qt/5.2.1/mingw48_32 \ > FFTW3_DIR=/c/Tools/fftw-3.3.3-dll32-2 Similarly with the qmake project: $ # In a Qt MinGW 32-bit console $ cd ~/src/wsjtx $ qmake \ > HAMLIB_DIR=c:/test-install/hamlib/mingw48_32 \ > FFTW3_DIR=c:/Tools/fftw-3.3.3-dll32-2 $ mingw32-make git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4551 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
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
|