Initial commit
This commit is contained in:
212
make_gen
Executable file
212
make_gen
Executable file
@@ -0,0 +1,212 @@
|
||||
#---------------------------------------------------------------------------
|
||||
# Makefile for FIT and some related programs
|
||||
#
|
||||
# Markus Zolliker, Sept 2002
|
||||
#--------------------------------------------------------------------------
|
||||
-include make_deb
|
||||
#NXFLAG is Y when NeXus should be used
|
||||
NXF_Y = dat_nexus.o
|
||||
NXF_ = dat_nexus_dum.o
|
||||
F_OBJ = fit_main.o fit_win.o \
|
||||
cvt.o fit_merge.o fit_abskor.o fit_auto.o fit_mon.o \
|
||||
fit_bars.o fit_multiply.o inex.o \
|
||||
fit_command.o fit_out.o \
|
||||
dat_utils.o fit_connect.o fit_peak.o migrad.o \
|
||||
dat_fit3.o fit_cor.o fit_dat.o fit_print.o \
|
||||
dat_lnsp.o fit_exit.o fit_rel.o quick_sort.o \
|
||||
dat_init.o dat_open.o fit_export.o fit_scale.o simplex.o \
|
||||
dat_tasmad.o fit_file.o fit_set.o dat_ccl.o dat_5c2.o \
|
||||
dat_2t.o dat_rita.o dat_table.o dat_frm.o \
|
||||
dat_oldtas.o dat_sics.o dat_fullp.o fit_fit.o fit_style.o \
|
||||
fit_fix.o fit_subtract.o \
|
||||
fit_fun.o fifun.o fit_init.o fit_title.o \
|
||||
fit_list.o fit_user.o fit_range.o fit_array.o str.o \
|
||||
metaf.o intprt.o dat_ida.o dat_fda.o dat_d1a.o \
|
||||
gra.o fit_plot.o fit_bgedit.o cho.o \
|
||||
dat_xy.o dat_xys.o dat_xysm.o dat_inx.o dat_spec.o \
|
||||
sys_getenv.o sys_home.o sys_cmdpar.o sys_date.o sys_remote_host.o \
|
||||
sys_wait.o sys_lun.o sys_file.o sys_open.o sys_parse.o \
|
||||
$(NXF_$(NXFLAG)) $(NAPIF)
|
||||
NXC_Y = napi_err.o dat_c.o
|
||||
C_OBJ = sys_fun.o sys_unix.o \
|
||||
metac.o myc_str.o myc_err.o myc_tmp.o \
|
||||
sys_env.o sys_rdline.o sys_try.o \
|
||||
dat_tascom_dir.o main.o \
|
||||
$(NXC_$(NXFLAG))
|
||||
LIB_OBJ = $(C_OBJ) $(F_OBJ) sys_fvi.o fit_help.o fit_vers.o
|
||||
|
||||
NXINC_Y=-I$(NXINC) -I$(NXHDF)
|
||||
NXPATH_Y=:$(NXINC):$(NXHDF)
|
||||
NXLIB_Y=$(NXLIB)
|
||||
LL = $(PGLIB) $(RDLIB) $(NXLIB_$(NXFLAG))
|
||||
LIB_a= $(LL)
|
||||
LIB_so=
|
||||
LIBFIT = libfit.$(LIB_TYPE)
|
||||
LF = $(LIB_$(LIB_TYPE)) libfit.a
|
||||
|
||||
ARFLAGS = cr
|
||||
|
||||
.SUFFIXES: .o .c .f
|
||||
|
||||
F_OPT_D = $(F_DEB)
|
||||
F_OPT_ = $(F_OPT)
|
||||
FFLAGS = $(F_FLAGS) $(F_STRICT) $(F_OPT_$(DEB))
|
||||
FFLAGSR = $(F_FLAGS) $(F_RELAXED) $(F_OPT_$(DEB))
|
||||
CFLAGS = $(C_FLAGS) $(C_STRICT) -Isrc/gen
|
||||
CFLAGSR = $(C_FLAGS) $(C_RELAXED) -Isrc/gen
|
||||
|
||||
VPATH = src/gen/$(SPECPATH):src/unix/:src/pgm/:./$(NXPATH_$(NXFLAG))
|
||||
|
||||
SUPBIN = cho_ terinq_ sumvar deteff clamp abskor3 csc addit subit \
|
||||
trics_ccl addchan addei polcal csvsumvar autofit fitlor
|
||||
|
||||
MAINBIN = fit $(ADD_ALL)
|
||||
|
||||
ALL = $(MAINBIN) $(LIBFIT) $(SUPBIN)
|
||||
|
||||
default: fit libfit.a $(LIBFIT)
|
||||
|
||||
all: $(ALL)
|
||||
|
||||
fit: fit.o $(LIBFIT)
|
||||
$(FC) $(FFLAGS) $(LDFLAGS) -o $@ $Q $(LF) $(LDFLAGS)
|
||||
|
||||
myfit: src/makefile_$(FIT_VERSION) src/make_gen src/gen/myfit_head
|
||||
cp -f src/gen/myfit_head ./myfit
|
||||
@echo '$(FC) $(FFLAGS) $$* $(INSTDIR)/lib/libfit.a $(LL) $(INSTDIR)/lib/libfit.a' >> myfit
|
||||
chmod +x myfit
|
||||
|
||||
libfit.a: $(LIB_OBJ) make_fdep $(CDEP)
|
||||
rm -f $@
|
||||
$(AR) $(ARFLAGS) $@ $(LIB_OBJ)
|
||||
ranlib $@
|
||||
|
||||
libfit.so: $(LIB_OBJ)
|
||||
rm -f libfit.so
|
||||
$(FC) $(FFLAGS) -shared -o libfit.so $(LIB_OBJ) $(LL)
|
||||
|
||||
dat_nexus.o: dat_nexus.f
|
||||
$(FC) $(FFLAGSR) $(NXINC_$(NXFLAG)) -c $F
|
||||
dat_c.o: dat_c.c
|
||||
$(CC) $(CFLAGSR) $(NXINC_$(NXFLAG)) -c $C
|
||||
napi_err.o: napi_err.c
|
||||
$(CC) $(CFLAGSR) $(NXINC_$(NXFLAG)) -c $C
|
||||
|
||||
sumvar: sumvar.o $(LIBFIT)
|
||||
$(FC) $(FFLAGS) $(LDFLAGS) -o $@ $Q $(LF)
|
||||
|
||||
csvsumvar: csvsumvar.o $(LIBFIT)
|
||||
$(FC) $(FFLAGS) $(LDFLAGS) -o $@ $Q $(LF)
|
||||
|
||||
csc: csc.o $(LIBFIT)
|
||||
$(FC) $(FFLAGS) $(LDFLAGS) -o $@ $Q $(LF)
|
||||
|
||||
deteff: deteff.o $(LIBFIT)
|
||||
$(FC) $(FFLAGS) $(LDFLAGS) -o $@ $Q $(LF)
|
||||
|
||||
clamp: clamp.o $(LIBFIT)
|
||||
$(FC) $(FFLAGS) $(LDFLAGS) -o $@ $Q $(LF)
|
||||
|
||||
abskor3: abskor3.o $(LIBFIT)
|
||||
$(FC) $(FFLAGS) $(LDFLAGS) -o $@ $Q $(LF)
|
||||
|
||||
addit: addit.o $(LIBFIT)
|
||||
$(FC) $(FFLAGS) $(LDFLAGS) -o $@ $Q $(LF)
|
||||
|
||||
addchan: addchan.o $(LIBFIT)
|
||||
$(FC) $(FFLAGS) $(LDFLAGS) -o $@ $Q $(LF)
|
||||
|
||||
subit: subit.o $(LIBFIT)
|
||||
$(FC) $(FFLAGS) $(LDFLAGS) -o $@ $Q $(LF)
|
||||
|
||||
autofit: autofit.o $(LIBFIT)
|
||||
$(FC) $(FFLAGS) $(LDFLAGS) -o $@ $Q $(LF)
|
||||
|
||||
fitvers: fitv.o $(LIBFIT)
|
||||
$(FC) $(FFLAGS) $(LDFLAGS) -o $@ $Q $(LF)
|
||||
|
||||
brows.o: brows.f
|
||||
$(FC) $(FFLAGSR) $(LDFLAGS) $(NXINC_$(NXFLAG)) -c $F
|
||||
|
||||
brows: brows.o $(LIBFIT)
|
||||
$(FC) $(FFLAGSR) $(LDFLAGS) -o $@ $Q $(LF)
|
||||
|
||||
cho_: chooser.o $(LIBFIT)
|
||||
$(FC) $(FFLAGS) $(LDFLAGS) -o $@ $Q $(LF)
|
||||
|
||||
terinq_: terinq.o $(LIBFIT)
|
||||
$(FC) $(FFLAGS) $(LDFLAGS) -o $@ $Q $(LF)
|
||||
|
||||
tricslog: tricslog.o $(LIBFIT)
|
||||
$(FC) $(FFLAGS) $(LDFLAGS) -o $@ $Q $(LF)
|
||||
|
||||
trics_ccl: trics_ccl.o $(LIBFIT)
|
||||
$(FC) $(FFLAGS) $(LDFLAGS) -o $@ $Q $(LF)
|
||||
|
||||
addei: addei.o $(LIBFIT)
|
||||
$(FC) $(FFLAGS) $(LDFLAGS) -o $@ $Q $(LF)
|
||||
|
||||
polcal: polcal.o $(LIBFIT)
|
||||
$(FC) $(FFLAGS) $(LDFLAGS) -o $@ $Q $(LF)
|
||||
|
||||
make_custom: make_custom.f make_fvi.f make_help.f make_vers.f str.o \
|
||||
sys_open.o sys_cmdpar.o sys_unix.o sys_getenv.o sys_env.o \
|
||||
myc_str.o myc_err.o myc_tmp.o
|
||||
$(FC) $(FFLAGS) $(LDFLAGS) -o $@ $Q
|
||||
|
||||
fit_vers.f: make_custom fit.vers $(F_OBJ:.o=.f) $(C_OBJ:.o=.c)
|
||||
./make_custom src/gen/fit.vers
|
||||
|
||||
sys_fvi.c fit_help.f: make_custom lib.fvi fit.help
|
||||
./$Q
|
||||
|
||||
fitlor: src/gen/fitlor.py
|
||||
cp src/gen/fitlor.py fitlor
|
||||
|
||||
INSTBIN=$(INSTDIR)/bin
|
||||
INSTLIB=$(INSTDIR)/lib
|
||||
|
||||
$(MAINBIN:%=$(INSTBIN)/%): $(MAINBIN)
|
||||
cp -f $(@:$(INSTBIN)/%=%) $@
|
||||
|
||||
$(SUPBIN:%=$(INSTBIN)/%): $(SUPBIN)
|
||||
cp -f $(@:$(INSTBIN)/%=%) $@
|
||||
|
||||
$(INSTLIB)/libfit.a: libfit.a
|
||||
cp -f libfit.a $(INSTLIB)/libfit.a
|
||||
|
||||
$(INSTLIB)/fitexample.f: src/gen/fitexample.f
|
||||
cp -f src/gen/fitexample.f $(INSTLIB)/fitexample.f
|
||||
|
||||
inst: $(MAINBIN:%=$(INSTBIN)/%) $(INSTLIB)/libfit.a $(INSTLIB)/fitexample.f
|
||||
|
||||
install: inst $(SUPBIN:%=$(INSTBIN)/%)
|
||||
|
||||
PRJS= $(F_OBJ:.o=.f)
|
||||
|
||||
# "make check" will check everything that has been changed.
|
||||
check: fit.f $(PRJS)
|
||||
ftnchek -declare -source=dec-tab -notruncation -wrap=0 \
|
||||
-arguments=no-arrayness -nopure -nousage -quiet $Q
|
||||
|
||||
clean:
|
||||
rm -f *.o *.d *.df *.f *.c $(ALL) terinq make_custom \
|
||||
make_fdep make_cdep libfit.so so_locations
|
||||
|
||||
purge_c:
|
||||
rm -f $(C_OBJ)
|
||||
|
||||
make_fdep: $(F_OBJ:.o=.f)
|
||||
# search for include statements. the rest of the line is text processing
|
||||
@echo "determine Fortran include file dependencies"
|
||||
@echo $Q
|
||||
@grep "include.*'.*'" $Q | sed \
|
||||
"s+:.*include.'\(.*\)'.*+: \1+g;s+.*/\(.*\)\.f:+\1.o: \1.f+g" \
|
||||
| sort -u > make_fdep
|
||||
|
||||
make_cdep: $(C_OBJ:.o=.c)
|
||||
@echo "collect C include file dependencies"
|
||||
@- cat *.d | grep -v "/usr" > make_cdep
|
||||
|
||||
-include make_fdep
|
||||
-include $(CDEP) $(C_OBJ:.o=.d)
|
||||
Reference in New Issue
Block a user