WSJT-X/lib/Makefile.linux

117 lines
3.0 KiB
Makefile

# Set paths
EXE_DIR = ../../wsjtx_install
QT_DIR = /usr/include/qt5
INCPATH = -I${QT_DIR} -I${QT_DIR}/QtCore
CC = gcc
CXX = g++
FC = gfortran
AR = ar cr
MKDIR = mkdir -p
CP = cp
RANLIB = ranlib
RM = rm -f
FFLAGS = -O2 -fbounds-check -Wall -Wno-conversion -fno-second-underscore \
-fPIE -DUNIX
CFLAGS = -I. -fbounds-check -fPIE
# 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 jt9sim jt9 jt9code jt65code
OBJS1 = astrosub.o astro0.o astro.o tm2.o sun.o moondop.o coord.o tmoonsub.o \
fmtmsg.o geocentric.o moon2.o toxyz.o dot.o dcoord.o \
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 \
packtext.o getpfx1.o packcall.o k2grid.o packgrid.o \
nchar.o four2a.o grid2deg.o pfxdump.o wisdom.o \
symspec.o analytic.o db.o genjt9.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 peakdt9.o getlags.o afc9.o fchisq.o \
twkfreq.o downsam9.o symspec2.o ipcomm.o sleep_msec.o \
stdmsg.o sec_midn.o usleep.o azdist.o geodist.o morse.o \
fillcom.o chkss2.o zplot9.o flat1.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 smo.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
jt9: $(OBJS2) libjt9.a
$(CXX) -o jt9 $(OBJS2) -L. -ljt9 -lQt5Core -lfftw3f `$(FC) -print-file-name=libgfortran.so`
$(MKDIR) -p $(EXE_DIR)
$(CP) jt9 $(EXE_DIR)
OBJS3 = jt9sim.o
jt9sim: $(OBJS3) libjt9.a
$(FC) -o jt9sim $(OBJS3) -L. -ljt9
OBJS4 = jt9code.o
jt9code: $(OBJS4) libjt9.a
$(FC) -o jt9code $(OBJS4) -L. -ljt9
$(CP) jt9code $(EXE_DIR)
OBJS6 = jt65code.o
jt65code: $(OBJS6) libjt9.a
$(FC) -o jt65code $(OBJS6) libjt9.a
$(CP) jt65code $(EXE_DIR)
sync9.o: sync9.f90 jt9sync.f90
$(FC) $(FFLAGS) -c sync9.f90
peakdf9.o: peakdf9.f90 jt9sync.f90
$(FC) $(FFLAGS) -c peakdf9.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
ipcomm.o: ipcomm.cpp
$(CXX) -c $(INCPATH) -fPIE ipcomm.cpp
sec_midn.o: sec_midn.f90
$(FC) -c -fno-second-underscore sec_midn.f90
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 jt9sim jt9 jt9code