next up previous contents
Next: References Up: No Title Previous: Running WFC programs

Example Makefile

 

#
# Makefile generated by configure for ruurq2 running HP-UX-A.09.05
#
# System has NO data access layer
# System is NO HEAD system
#
# Take a glance at directories and options (till line of #'s)
#
ARCH=hp
HOST=ruurq2
BIN_INSTALL=/usr3/home/sax/sources/DIST/bin
LIB_INSTALL=/usr3/home/sax/sources/DIST/lib
PAR_INSTALL=/usr3/home/sax/sources/DIST/bin
MAN_INSTALL=/usr3/home/sax/sources/DIST/help
FTOOLS_LIB=/home/head/library/ftools/host
CC=cc
GCC=gcc
FC=f77
CFLAGS= -Aa -Dunix -D_HPUX_SOURCE -DHAVE_FFUNCTIONS -DFORTRAN_UNDERSCORE -I../../include +e -z +O3
GCFLAGS= -ansi -Dunix -D_HPUX_SOURCE -I../../include
PGFLAGS=-DFORTRAN_UNDERSCORE
FFLAGS=+ppu +es +U77 +E6 +E1 +A -O
FVECFLAGS=+OP +O3 +es -w -I../../include
LDFLAGS=-Aa -z -L/usr3/home/sax/sources/DIST/lib
RANLIB=touch
INSTALL=/etc/install
SYSLIBS= -L/usr/lib/X11R5 -lX11 -lU77 -lcl -lisamstub -lvec -lm -lf
#
##########################################################
# Rest of this makefile is from Makefile.ORIG
#
SHELL=/bin/sh

STAGE1 = wfotfits wmakgti wattana wshift watproc wgain \
	 wgtitest wmrggti wgtiflt whkproc wqplot wslew wspiros

STAGE2 = msk ins sim cor iros cdi lcv tools wop eci

LIBRARIES2-a = dta fits util log pcl 
LIBRARIES2-b = evt PSF exp COR INS ANA APS

LIBRARIES = saxwfclib $(LIBRARIES2-a) $(LIBRARIES2-b)

CC_PROGRAMS = msk ins sim cor iros cdi lcv tools genFits eci

GCC_PROGRAMS = wfotfits wmakgti wattana wshift watproc wfmerge wgain \
	       wgtitest wmrggti wgtiflt whkproc wqplot wslew wspiros

DIRS = "BIN_INSTALL=$(BIN_INSTALL)" "LIB_INSTALL=$(LIB_INSTALL)" \
       "PAR_INSTALL=$(PAR_INSTALL)" "MAN_INSTALL=$(MAN_INSTALL)" 

SHIPLIST  = Makefile.ORIG configure \
	    installer cal/*.asc cal/Makefile cal/wfc_config \
	    lib/catalogs/XRAYSOURCESCAT README doc update
       
SHIPLIST1 = src/saxwfclib src/wattana src/wshift src/wfmerge src/wfotfits \
	    src/wgtiflt src/whkproc src/wgain src/wmakgti src/wmrggti src/wgtitest \
	    src/wqplot src/wslew src/wspiros src/watproc help \
	    etc version/etc/stage1
       
SHIPLIST2 = src/ana src/exp src/iros src/pcl src/aps \
	    src/cdi src/dft src/fits src/lcv src/psf src/tools \
	    src/dta src/genFits src/log src/util \
	    src/cor src/evt src/ins src/msk src/sim src/eci src/wop \
	    include version/etc/stage2
       
       
FTOOLS = "FTOOLS_LIB=$(FTOOLS_LIB)"
FLIBS = -lftools -lhost -lxanlib -lfitsio -ltermcap -lpgplot

all	: stage1 stage2

1	: stage1

2	: stage2

stage1	: saxwfclib $(STAGE1)

stage2	: $(LIBRARIES2-a) dft genFits CAL $(LIBRARIES2-b) $(STAGE2) idb

$(LIBRARIES): checkHost
	cd `echo "src/$@" | tr "A-Z" "a-z"`;\
	make lib "LIB_INSTALL=$(LIB_INSTALL)" \
	"CC=$(CC)" "CFLAGS=$(CFLAGS)"  \
	"FC=$(FC)" "FFLAGS=$(FFLAGS)"  \
	"LDEST=$(LIB_INSTALL)" \
	"RANLIB=$(RANLIB)" "INSTALL=$(INSTALL)"

$(CC_PROGRAMS): checkHost
	cd src/$@;\
	make install $(DIRS) $(FTOOLS) \
	"CC=$(CC)" "CFLAGS=$(CFLAGS)"  \
	"FC=$(FC)" "FFLAGS=$(FFLAGS)" \
	"FLIBS=$(FLIBS)" "DEST=$(BIN_INSTALL)" \
	"SYSLIBS=$(SYSLIBS)" "INSTALL=$(INSTALL)" \
        "LD=$(CC)" "LDFLAGS=$(LDFLAGS)" "RANLIB=$(RANLIB)"

$(GCC_PROGRAMS): checkHost
	cd src/$@;\
	make install $(DIRS) $(FTOOLS) \
	"CC=$(GCC)" "CFLAGS=$(GCFLAGS)"  \
	"FC=$(FC)" "FFLAGS=$(FFLAGS)" \
	"FLIBS=$(FLIBS)" "DEST=$(BIN_INSTALL)" \
	"SYSLIBS=$(SYSLIBS)" "INSTALL=$(INSTALL)" \
	"LD=$(GCC)" "LDFLAGS=$(LDFLAGS)" "RANLIB=$(RANLIB)"

dft:	checkHost
	@if [ `hostname | awk -F. '{print $$1}'` != $(HOST) ]; then echo "ERROR!! Makefile is configured for $(HOST)."; exit 1; fi; \
	cd src/dft; \
	make lib "LIB_INSTALL=$(LIB_INSTALL)" \
	"CC=$(CC)" "CFLAGS=$(CFLAGS)"  \
	"FC=$(FC)" "FFLAGS=$(FVECFLAGS)"  \
	"LDEST=$(LIB_INSTALL)" \
	"RANLIB=$(RANLIB)" "INSTALL=$(INSTALL)"

CAL:	checkHost
	cd cal;\
	make install $(DIRS) \
	"CC=$(CC)" "CFLAGS=-I../include $(CFLAGS)"  \
	"DEST=$(BIN_INSTALL)" \
	"SYSLIBS=$(SYSLIBS)" "INSTALL=$(INSTALL)" \
	"LDFLAGS=$(LDFLAGS)" "RANLIB=$(RANLIB)"

wop:	checkHost
	cd src/wop;\
	make install $(DIRS) \
	"CC=$(CC)" "CFLAGS=$(CFLAGS) $(PGFLAGS)"  \
	"FC=$(FC)" "FFLAGS=$(FFLAGS)"  \
	"DEST=$(BIN_INSTALL)" \
	"SYSLIBS=-L$(FTOOLS_LIB) -lpgplot $(SYSLIBS)" \
	"INSTALL=$(INSTALL)" \
	"LDFLAGS=$(LDFLAGS)"

lin:	checkHost
	cd src/lin;\
	make install $(DIRS) \
	"CC=$(CC)" "CFLAGS=$(CFLAGS) $(PGFLAGS)"  \
	"FC=$(FC)" "FFLAGS=$(FFLAGS)"  \
	"DEST=$(BIN_INSTALL)" \
	"SYSLIBS=$(SYSLIBS)" \
	"INSTALL=$(INSTALL)" \
	"LDFLAGS=$(LDFLAGS)"

idb:	checkHost
	cd cal; \
	WFC_CAL=`pwd`; export WFC_CAL; \
	cp -f ./wfc_config $(BIN_INSTALL); \
	$(BIN_INSTALL)/mask -p -Lidb.log wfc "pr33,[256],my" 1.0 1.0 0.9 0.9; \
	$(BIN_INSTALL)/genFits -p -Lidb.log det_wfc1.asc; \
	$(BIN_INSTALL)/genFits -p -Lidb.log det_wfc2.asc; \
	$(BIN_INSTALL)/instrument -p -n -Lidb.log wfc1 wfc wfc1 700.3; \
	$(BIN_INSTALL)/instrument -p -n -Lidb.log wfc2 wfc wfc2 700.3;

veryclean:
	@rm -f $(BIN_INSTALL)/*
	@rm -f $(LIB_INSTALL)/*.a
	@rm -f $(PAR_INSTALL)/*.par
	@rm -f cal/*.h cal/*.det cal/*.c cal/*.o cal/*.log cal/*.ins cal/*.msk
	@make clean1
	@make clean2

clean:
	@make clean1
	@make clean2

clean1:
	@rm -f src/*/*.o src/*/*.a 
	@rm -f `find . -name 'y.tab.h' -print`
	@rm -f include/detector.h include/detector_keys.h
	@rm -f $(LIB_INSTALL)/libsaxwfc.a
	@rm -f src/wattana/wattana src/wshift/wshift src/wfmerge/wfmerge \
	      src/wfotfits/wfotfits src/wgtiflt/wgtiflt \
	      src/whkproc/whkproc src/wgain/wgain src/wmakgti/wmakgti \
	      src/wmrggti/wmrggti src/wgtitest/wgtitest \
	      src/wqplot/wqplot src/wslew/wslew src/watproc/watproc \
	      src/wspiros/wspiros

clean2:
	@rm -f src/*/*.o src/*/*.a
	@rm -f `find . -name 'y.tab.h' -print`
	@rm -f include/detector.h include/detector_keys.h
	@rm -f cal/*.h cal/*.det cal/*.c cal/*.o cal/*.log cal/*.ins cal/*.msk
	@rm -f src/ana/analyse src/cdi/cdi \
	       src/cor/correlate src/genFits/genFits \
	       src/ins/instrument src/iros/iros \
	       src/lcv/lcv src/msk/mask \
	       src/sim/simulate src/tools/fstructure src/tools/fextract \
	       src/tools/fautocor src/tools/fcautocor src/wop/wopi \
	       src/lin/det_lin
	@rm -f $(LIB_INSTALL)/libpcl.a $(LIB_INSTALL)/libwfc.a $(LIB_INSTALL)/libutil.a \
	       $(LIB_INSTALL)/libdft.a

dist:   clean
	@version/bin/inc_version 1
	@version/bin/inc_version 2
	@echo making distribution ...
	@tar cf wfc_full-`./version/bin/version 1`.`./version/bin/version 2`.tar \
	$(SHIPLIST) $(SHIPLIST1) $(SHIPLIST2) 
	@ident wfc_full-`./version/bin/version 1`.`./version/bin/version 2`.tar | \
	sort | uniq | grep "Header: " > \
	./version/lib/full-`./version/bin/version 1`.`./version/bin/version 2`.ident
	@gzip -f wfc_full-`./version/bin/version 1`.`./version/bin/version 2`.tar
	@echo created: wfc_full-`./version/bin/version 1`.`./version/bin/version 2`.tar.gz

dist1:  clean1
	@version/bin/inc_version 1
	@echo "making distribution (stage1) ..."
	@tar cf wfc_stage1-`./version/bin/version 1`.tar $(SHIPLIST) $(SHIPLIST1)
	@ident wfc_stage1-`./version/bin/version 1`.tar | sort | uniq | \
	grep "Header: " > ./version/lib/stage1-`./version/bin/version 1`.ident
	@gzip -f wfc_stage1-`./version/bin/version 1`.tar
	@echo created: wfc_stage1-`./version/bin/version 1`.tar.gz

dist2:  clean2
	@version/bin/inc_version 2
	@echo "making distribution (stage2) ..."
	@tar cf wfc_stage2-`./version/bin/version 2`.tar $(SHIPLIST) $(SHIPLIST2)
	@ident wfc_stage2-`./version/bin/version 2`.tar | sort | uniq | \
	grep "Header: " > ./version/lib/stage2-`./version/bin/version 2`.ident
	@gzip -f wfc_stage2-`./version/bin/version 2`.tar
	@echo created: wfc_stage2-`./version/bin/version 2`.tar.gz

checkHost:	
	@if [ `hostname | awk -F. '{print $$1}'` != $(HOST) ]; then \
	  echo "ERROR!! Makefile is configured for $(HOST)."; \
	  exit 1;\
	fi;



Mark Savenije
Sat Jan 18 13:43:02 MET 1997