1# Makefile for Linux 2CC = gcc 3FC = gfortran 4CXX = g++ 5 6FFLAGS = -O2 -fbounds-check -Wall -Wno-precision-loss -fno-second-underscore 7# For ptt_unix: 8CFLAGS = -I. -fbounds-check -DHAVE_STDLIB_H=1 -DHAVE_STDIO_H=1 \ 9 -DHAVE_FCNTL_H=1 -DHAVE_SYS_IOCTL_H=1 10 11# Default rules 12%.o: %.c 13 ${CC} ${CFLAGS} -c $< 14%.o: %.f 15 ${FC} ${FFLAGS} -c $< 16%.o: %.F 17 ${FC} ${FFLAGS} -c $< 18%.o: %.f90 19 ${FC} ${FFLAGS} -c $< 20%.o: %.F90 21 ${FC} ${FFLAGS} -c $< 22 23all: packjt.o libm65.a m65 mapsim libastro.a 24 25OBJS1 = trimlist.o display.o getdphi.o pctile.o ccf65.o \ 26 decode1a.o sort.o filbig.o fil6521.o afc65b.o \ 27 twkfreq.o decode65b.o indexx.o ssort.o fchisq.o setup65.o \ 28 extract.o deep65.o ccf2.o demod64a.o chkhist.o graycode.o \ 29 interleave63.o encode65.o igray.o set.o shell.o qra64_subs.o \ 30 grid2k.o getpfx2.o qra64b.o qra64c.o twkfreq_xy.o qra64zap.o \ 31 deg2grid.o getpfx1.o k2grid.o ftrsd2.o graycode65.o \ 32 wrapkarn.o nchar.o init_rs.o encode_rs.o decode_rs.o \ 33 four2a.o rfile3a.o grid2deg.o pfxdump.o dpol.o sync64.o spec64.o \ 34 astro.o tm2.o sun.o moondop.o coord.o tmoonsub.o \ 35 geocentric.o moon2.o toxyz.o dot.o dcoord.o f77_wisdom.o \ 36 gen65.o chkmsg.o astrosub.o astro0.o recvpkt.o symspec.o \ 37 iqcal.o iqfix.o timf2.o s3avg.o packjt.o badmsg.o fmtmsg.o \ 38 qracodes.o qra64.o smo.o averms.o lorentzian.o npfwht.o pdmath.o \ 39 qra13_64_64_irr_e.o fchisq0.o genqra64a.o ptt_unix.o 40 41packjt.o: packjt.f90 42 $(FC) -c packjt.f90 43 44libm65.a: $(OBJS1) 45 ar cr libm65.a $(OBJS1) 46 ranlib libm65.a 47 48qra64_subs.o: ./qra64/qra64_subs.c 49 gcc -c -O2 -o qra64_subs.o ./qra64/qra64_subs.c 50 51qracodes.o: ./qracodes/qracodes.c 52 gcc -c -O2 -o qracodes.o ./qracodes/qracodes.c 53 54qra64.o: ./qra64/qra64.c 55 gcc -c -O2 -o qra64.o ./qra64/qra64.c 56 57qra13_64_64_irr_e.o: ./qracodes/qra13_64_64_irr_e.c 58 gcc -c -O2 -o qra13_64_64_irr_e.o ./qracodes/qra13_64_64_irr_e.c 59 60npfwht.o: ./qracodes/npfwht.c 61 gcc -c -O2 -o npfwht.o ./qracodes/npfwht.c 62 63pdmath.o: ./qracodes/pdmath.c 64 gcc -c -O2 -o pdmath.o ./qracodes/pdmath.c 65 66OBJS3 = m65.o m65a.o map65a.o symspec.o decode0.o ftninit.o ftnquit.o \ 67 timer.o ipcomm.o sec_midn.o usleep.o 68 69m65: $(OBJS3) libm65.a 70 $(CXX) -o m65 $(OBJS3) libm65.a -lfftw3f -lQt5Core -lfftw3f -lgfortran 71 cp m65 ../../map65_install 72 73OBJS7 = astrosub.o astro0.o astro.o tm2.o grid2deg.o sun.o moondop.o \ 74 coord.o dot.o moon2.o tmoonsub.o toxyz.o geocentric.o \ 75 dcoord.o 76 77libastro.a: $(OBJS7) 78 ar cr libastro.a $(OBJS7) 79 ranlib libastro.a 80 81OBJS6 = mapsim.o cgen65.o noisegen.o gran.o 82mapsim: $(OBJS6) libm65.a 83 $(FC) -o mapsim $(OBJS6) libm65.a 84 85INCPATH = -I. -I'/usr/include/x86_64-linux-gnu/qt5' \ 86 -I'/usr/include/x86_64-linux-gnu/qt5/QtCore' 87 88ipcomm.o: ipcomm.cpp 89 $(CXX) -c $(INCPATH) -fPIC ipcomm.cpp 90 91sec_midn.o: sec_midn.f90 92 $(FC) -c -fno-second-underscore sec_midn.f90 93 94OBJS4 = tastro.o astro0.o libm65.a 95tastro: $(OBJS4) 96 $(FC) $(FFLAGS) -o tastro $(OBJS4) libm65.a 97 98OBJS5 = t1.o timer.o libm65.a 99t1: $(OBJS5) 100 $(FC) $(FFLAGS) -o t1 $(OBJS5) libm65.a 101 102init_rs.o: init_rs.c 103 $(CC) -c -DBIGSYM=1 -o init_rs.o init_rs.c 104 105encode_rs.o: encode_rs.c 106 $(CC) -c -DBIGSYM=1 -o encode_rs.o encode_rs.c 107 108decode_rs.o: decode_rs.c 109 $(CC) -c -DBIGSYM=1 -o decode_rs.o decode_rs.c 110 111.PHONY : clean 112 113clean: 114 rm -f *.o *.mod libm65.a m65 115