#NAME=gnu NAME=intel #NAME=pgi ifeq ($(NAME),gnu) CC = gcc LD = gcc FC = g77 LIBBASE = cfitsio_$(shell echo $$GNU_COMPILER) endif ifeq ($(NAME),intel) CC = icc LD = icc FC = ifc LIBBASE = cfitsio_$(shell echo $$INTEL_COMPILER) endif ifeq ($(NAME),pgi) CC = pgcc LD = pgcc FC = pgf77 LIBBASE = cfitsio_$(shell echo $$PGI_COMPILER) endif CFITSIO_LIB = $(shell echo $$SMEI_LIB) CFITSIO_INCLUDE = /home/soft/smei/cpp/cfitsio3060/include SHELL = /bin/sh RANLIB = ranlib CFLAGS = -O -O2 -Dg77Fortran -fPIC LDFLAGS = $(CFLAGS) DEFS = -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MATH_H=1 -DHAVE_LIMITS_H=1 -DHAVE_FTRUNCATE=1 -DHAVE_LONGLONG=1 -DHAVE_SHMEM_SERVICES=1 -DHAVE_NET_SERVICES=1 LIBS = FLEX = flex BISON = bison SHLIB_LD = $(CC) -shared LIBSTATIC = lib${LIBBASE}.a LIBSHARED = lib${LIBBASE}.so .c.o: ${CC} -c $(CFLAGS) $(DEFS) $< CORE_SOURCES = buffers.c cfileio.c checksum.c compress.c drvrfile.c drvrmem.c \ drvrnet.c drvrsmem.c drvrgsiftp.c editcol.c edithdu.c eval_l.c \ eval_y.c eval_f.c fitscore.c getcol.c getcolb.c getcold.c getcole.c \ getcoli.c getcolj.c getcolk.c getcoll.c getcols.c getcolsb.c \ getcoluk.c getcolui.c getcoluj.c getkey.c group.c grparser.c \ histo.c iraffits.c \ modkey.c putcol.c putcolb.c putcold.c putcole.c putcoli.c \ putcolj.c putcolk.c putcoluk.c putcoll.c putcols.c putcolsb.c \ putcolu.c putcolui.c putcoluj.c putkey.c region.c scalnull.c \ swapproc.c wcssub.c wcsutil.c imcompress.c quantize.c ricecomp.c \ pliocomp.c fits_hcompress.c fits_hdecompress.c SOURCES = ${CORE_SOURCES} ${FITSIO_SRC} OBJECTS = ${SOURCES:.c=.o} CORE_OBJECTS = ${CORE_SOURCES:.c=.o} FITSIO_SRC = f77_wrap1.c f77_wrap2.c f77_wrap3.c f77_wrap4.c # ============ description of all targets ============= # - <<-- ignore error code all: @if [ "x${FC}" = x ]; then \ ${MAKE} -f Makefile.smei all-nofitsio; \ else \ ${MAKE} -f Makefile.smei stand_alone; \ fi all-nofitsio: ${MAKE} -f Makefile.smei stand_alone "FITSIO_SRC=" stand_alone: $(LIBSTATIC) $(LIBSTATIC): ${OBJECTS} ar rv $(LIBSTATIC) ${OBJECTS}; \ ${RANLIB} $(LIBSTATIC); shared: ${LIBSHARED} ${LIBSHARED}: ${OBJECTS} ${SHLIB_LD} -o $@ ${OBJECTS} install: $(LIBSTATIC) ${CFITSIO_LIB} ${CFITSIO_INCLUDE} @if [ -f $(LIBSTATIC) ]; then \ /bin/mv -v $(LIBSTATIC) ${CFITSIO_LIB}; \ fi; \ if [ -f ${LIBSHARED} ]; then \ /bin/mv -v $(LIBSHARED) ${CFITSIO_LIB}; \ fi; \ #/bin/cp -v fitsio.h fitsio2.h longnam.h drvrsmem.h ${CFITSIO_INCLUDE}/ smem: smem.o $(LIBSTATIC) ${OBJECTS} ${CC} $(CFLAGS) $(DEFS) -o smem smem.o -L. -lcfitsio -lm testprog: testprog.o $(LIBSTATIC) ${OBJECTS} ${CC} $(CFLAGS) $(DEFS) -o testprog testprog.o -L. -lcfitsio -lm ${LIBS} fitscopy: fitscopy.o $(LIBSTATIC) ${OBJECTS} ${CC} $(CFLAGS) $(DEFS) -o fitscopy fitscopy.o -L. -lcfitsio -lm ${LIBS} speed: speed.o $(LIBSTATIC) ${OBJECTS} ${CC} $(CFLAGS) $(DEFS) -o speed speed.o -L. -lcfitsio -lm ${LIBS} imcopy: imcopy.o $(LIBSTATIC) ${OBJECTS} ${CC} $(CFLAGS) $(DEFS) -o imcopy imcopy.o -L. -lcfitsio -lm ${LIBS} listhead: listhead.o $(LIBSTATIC) ${OBJECTS} ${CC} $(CFLAGS) $(DEFS) -o listhead listhead.o -L. -lcfitsio -lm ${LIBS} cookbook: cookbook.o $(LIBSTATIC) ${OBJECTS} ${CC} $(CFLAGS) $(DEFS) -o cookbook cookbook.o -L. -lcfitsio -lm ${LIBS} eval: # Rebuild eval_* files from flex/bison source $(FLEX) -t eval.l > eval_l.c1 /bin/sed -e 's/yy/ff/g' -e 's/YY/FF/g' eval_l.c1 > eval_l.c /bin/rm -f eval_l.c1 $(BISON) -d -v -y eval.y /bin/sed -e 's/yy/ff/g' -e 's/YY/FF/g' y.tab.c > eval_y.c /bin/sed -e 's/yy/ff/g' -e 's/YY/FF/g' y.tab.h > eval_tab.h /bin/rm -f y.tab.c y.tab.h clean: - /bin/rm -f *.o $(LIBSTATIC) $(LIBSHARED) \ smem testprog y.output distclean: clean - /bin/rm -f Makefile config.* # Make target which outputs the list of the .o contained in the cfitsio lib # usefull to build a single big shared library containing Tcl/Tk and other # extensions. used for the Tcl Plugin. cfitsioLibObjs: @echo ${CORE_OBJECTS} # This target actually builds the objects needed for the lib in the above # case objs: ${CORE_OBJECTS} ${CFITSIO_LIB} ${CFITSIO_INCLUDE}: @if [ ! -d $@ ]; then mkdir $@; fi