File: Makefile.MinGW

package info (click to toggle)
jtdx 2.2.159%2Bimproved-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 75,336 kB
  • sloc: cpp: 38,503; f90: 31,141; python: 27,061; ansic: 11,772; sh: 409; fortran: 353; makefile: 232
file content (145 lines) | stat: -rw-r--r-- 4,001 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# 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 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 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 graycode65.o twkfreq65.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

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