Make/qmake tweaks

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
This commit is contained in:
Bill Somerville 2014-10-21 13:47:19 +00:00
parent 5a56cbdedb
commit 1ff68d5098
2 changed files with 21 additions and 5 deletions

View File

@ -1,10 +1,22 @@
# 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
@ -37,7 +49,7 @@ 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 \
grid2k.o unpacktext.o getpfx2.o packmsg.o deg2grid.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 \
@ -61,8 +73,8 @@ libjt9.a: $(OBJS1)
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 -static $(OBJS2) $(LIBS2) libjt9.a \
../libfftw3f_win.a $(shell $(FC) -print-file-name=lib$(FC).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)
@ -77,7 +89,7 @@ jt9code.exe: $(OBJS4) libjt9.a
OBJS5 = jt65.o
jt65.exe: $(OBJS5) libjt9.a
$(FC) -o jt65.exe $(OBJS5) libjt9.a ../libfftw3f_win.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 \

View File

@ -24,6 +24,10 @@ isEmpty (HAMLIB_DIR) {
HAMLIB_DIR = ../../hamlib3/mingw32
}
isEmpty (FFTW3_DIR) {
HAMLIB_DIR = .
}
F90 = gfortran
gfortran.output = ${QMAKE_FILE_BASE}.o
gfortran.commands = $$F90 -c -O2 -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}
@ -128,7 +132,7 @@ win32 {
INCLUDEPATH += $${HAMLIB_DIR}/include
LIBS += -L$${HAMLIB_DIR}/lib -lhamlib
LIBS += -L./lib -lastro -ljt9
LIBS += -L. -lfftw3f_win
LIBS += -L$${FFTW3_DIR} -lfftw3f-3
LIBS += -lws2_32
LIBS += $$system($$F90 -print-file-name=libgfortran.a)
}