1# Makefile for MinGW on Windows
2CC = gcc
3FC = g95
4CXX = c:/wsjt-env/Qt5/Tools/mingw48_32/bin/g++
5
6FFLAGS = -O2 -fbounds-check -Wall -Wno-precision-loss -fno-second-underscore
7CFLAGS = -I. -fbounds-check
8
9# Default rules
10%.o: %.c
11	${CC} ${CFLAGS} -c $<
12%.o: %.f
13	${FC} ${FFLAGS} -c $<
14%.o: %.F
15	${FC} ${FFLAGS} -c $<
16%.o: %.f90
17	${FC} ${FFLAGS} -c $<
18%.o: %.F90
19	${FC} ${FFLAGS} -c $<
20
21all:    libm65.a m65.exe JT65code.exe mapsim.exe libastro.a
22
23OBJS1 = trimlist.o display.o getdphi.o pctile.o ccf65.o \
24	decode1a.o sort.o filbig.o fil6521.o afc65b.o \
25	twkfreq.o decode65b.o indexx.o ssort.o fchisq.o setup65.o \
26	extract.o deep65.o ccf2.o demod64a.o chkhist.o graycode.o \
27	interleave63.o unpackmsg.o encode65.o igray.o set.o unpackcall.o \
28	unpackgrid.o grid2k.o unpacktext.o getpfx2.o packmsg.o \
29	deg2grid.o packtext.o getpfx1.o packcall.o k2grid.o packgrid.o \
30	wrapkarn.o nchar.o init_rs.o encode_rs.o decode_rs.o \
31	four2a.o rfile3a.o grid2deg.o pfxdump.o dpol.o \
32	astro.o tm2.o sun.o moondop.o coord.o tmoonsub.o \
33	geocentric.o moon2.o toxyz.o dot.o dcoord.o f77_wisdom.o \
34	gen65.o chkmsg.o ptt.o astrosub.o astro0.o recvpkt.o symspec.o \
35	iqcal.o iqfix.o timf2.o s3avg.o
36
37libm65.a: $(OBJS1)
38	ar cr libm65.a $(OBJS1)
39	ranlib libm65.a
40
41OBJS3 = m65.o m65a.o map65a.o symspec.o decode0.o ftninit.o ftnquit.o \
42	timer.o ipcomm.o sec_midn.o cutil.o
43
44LIBS3 = -L'C:/wsjt-env/Qt5/5.2.1/mingw48_32/lib' -lQt5Core
45
46m65.exe: $(OBJS3) libm65.a
47	$(CXX) -o m65.exe $(OBJS3) $(LIBS3) libm65.a ../libfftw3f_win.a \
48	c:/MinGW/lib/libf95.a
49	cp m65.exe ../../map65_install
50
51OBJS2 = JT65code.o
52JT65code.exe: $(OBJS2) libm65.a
53	$(FC) -o JT65code.exe $(OBJS2) libm65.a
54
55OBJS7 = astrosub.o astro0.o astro.o tm2.o grid2deg.o sun.o moondop.o \
56	coord.o dot.o moon2.o tmoonsub.o toxyz.o geocentric.o \
57	dcoord.o
58
59libastro.a: $(OBJS7)
60	ar cr libastro.a $(OBJS7)
61	ranlib libastro.a
62
63OBJS6 = mapsim.o cgen65.o noisegen.o gran.o
64mapsim.exe: $(OBJS6) libm65.a
65	$(FC) -o mapsim.exe $(OBJS6) libm65.a
66
67INCPATH = -I'C:/wsjt-env/Qt5/5.2.1/mingw48_32/include/QtCore' \
68	-I'C:/wsjt-env/Qt5/5.2.1/mingw48_32/include'
69
70ipcomm.o: ipcomm.cpp
71	$(CXX) -c $(INCPATH) ipcomm.cpp
72
73#m65a.o:	m65a.f90
74#	$(FC) -c -fno-second-underscore -cpp m65a.f90
75
76sec_midn.o: sec_midn.f90
77	$(FC) -c -fno-second-underscore sec_midn.f90
78
79#symspec.o: ../symspec.f90
80#	$(FC) -c $(FFLAGS) -o symspec.o ../symspec.f90
81
82OBJS4 = tastro.o astro0.o libm65.a
83tastro.exe: $(OBJS4)
84	$(FC) $(FFLAGS) -o tastro.exe $(OBJS4) libm65.a
85
86OBJS5 = t1.o timer.o libm65.a
87t1.exe: $(OBJS5)
88	$(FC) $(FFLAGS) -o t1.exe $(OBJS5) libm65.a
89
90#astro0.o: ../astro0.f90
91#	$(FC) -c $(FFLAGS) -o astro0.o ../astro0.f90
92
93init_rs.o: init_rs.c
94	$(CC) -c -DBIGSYM=1 -o init_rs.o init_rs.c
95
96encode_rs.o: encode_rs.c
97	$(CC) -c -DBIGSYM=1 -o encode_rs.o encode_rs.c
98
99decode_rs.o: decode_rs.c
100	$(CC) -c -DBIGSYM=1 -o decode_rs.o decode_rs.c
101
102.PHONY : clean
103
104clean:
105	rm -f *.o libm65.a m65.exe jt65code.exe
106