|
| 1 | +# |
| 2 | +# Makefile for cfitsio library: |
| 3 | +# libcfits.a |
| 4 | +# |
| 5 | +# Oct-96 : original version by |
| 6 | +# |
| 7 | +# JDD/WDP |
| 8 | +# NASA GSFC |
| 9 | +# Oct 1996 |
| 10 | +# |
| 11 | +# 25-Jan-01 : removed conditional drvrsmem.c compilation because this |
| 12 | +# is now handled within the source file itself. |
| 13 | +# 09-Mar-98 : modified to conditionally compile drvrsmem.c. Also |
| 14 | +# changes to target all (deleted clean), added DEFS, LIBS, added |
| 15 | +# DEFS to .c.o, added SOURCES_SHMEM and MY_SHMEM, expanded getcol* |
| 16 | +# and putcol* in SOURCES, modified OBJECTS, mv changed to /bin/mv |
| 17 | +# (to bypass aliasing), cp changed to /bin/cp, add smem and |
| 18 | +# testprog targets. See also changes and comments in configure.in |
| 19 | + |
| 20 | + |
| 21 | +# CFITSIO version numbers: |
| 22 | +CFITSIO_MAJOR = 3 |
| 23 | +CFITSIO_MINOR = 37 |
| 24 | +CFITSIO_SONAME = 2 |
| 25 | + |
| 26 | +prefix = /home/miguel/Documents/gpuvmem/cfitsio |
| 27 | +exec_prefix = ${prefix} |
| 28 | +DESTDIR = |
| 29 | +CFITSIO_LIB = ${DESTDIR}${exec_prefix}/lib |
| 30 | +CFITSIO_INCLUDE = ${DESTDIR}${prefix}/include |
| 31 | +INSTALL_DIRS = ${prefix} ${CFITSIO_INCLUDE} ${CFITSIO_LIB} ${CFITSIO_LIB}/pkgconfig |
| 32 | + |
| 33 | + |
| 34 | +SHELL = /bin/sh |
| 35 | +ARCHIVE = ar rv |
| 36 | +RANLIB = ranlib |
| 37 | +CC = gcc |
| 38 | +CFLAGS = -g -O2 -Dg77Fortran -fPIC |
| 39 | +SSE_FLAGS = |
| 40 | +FC = gfortran |
| 41 | +LDFLAGS = $(CFLAGS) |
| 42 | +DEFS = -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_BZLIB_H=1 -DHAVE_BZIP2=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MATH_H=1 -DHAVE_LIMITS_H=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DHAVE_FTRUNCATE=1 -DHAVE_LONGLONG=1 -DHAVE_SHMEM_SERVICES=1 -DHAVE_NET_SERVICES=1 |
| 43 | +LIBS = |
| 44 | +FLEX = flex |
| 45 | +BISON = bison |
| 46 | + |
| 47 | +SHLIB_LD = gcc -shared -Wl,-soname,libcfitsio${SHLIB_SUFFIX}.${CFITSIO_SONAME} |
| 48 | +SHLIB_SUFFIX = .so |
| 49 | +CFITSIO_SHLIB = libcfitsio${SHLIB_SUFFIX}.${CFITSIO_SONAME}.${CFITSIO_MAJOR}.${CFITSIO_MINOR} |
| 50 | +CFITSIO_SHLIB_SONAME = libcfitsio${SHLIB_SUFFIX}.${CFITSIO_SONAME} |
| 51 | + |
| 52 | + |
| 53 | +CORE_SOURCES = buffers.c cfileio.c checksum.c drvrfile.c drvrmem.c \ |
| 54 | + drvrnet.c drvrsmem.c drvrgsiftp.c editcol.c edithdu.c eval_l.c \ |
| 55 | + eval_y.c eval_f.c fitscore.c getcol.c getcolb.c getcold.c getcole.c \ |
| 56 | + getcoli.c getcolj.c getcolk.c getcoll.c getcols.c getcolsb.c \ |
| 57 | + getcoluk.c getcolui.c getcoluj.c getkey.c group.c grparser.c \ |
| 58 | + histo.c iraffits.c \ |
| 59 | + modkey.c putcol.c putcolb.c putcold.c putcole.c putcoli.c \ |
| 60 | + putcolj.c putcolk.c putcoluk.c putcoll.c putcols.c putcolsb.c \ |
| 61 | + putcolu.c putcolui.c putcoluj.c putkey.c region.c scalnull.c \ |
| 62 | + swapproc.c wcssub.c wcsutil.c imcompress.c quantize.c ricecomp.c \ |
| 63 | + pliocomp.c fits_hcompress.c fits_hdecompress.c \ |
| 64 | + simplerng.c |
| 65 | + |
| 66 | +ZLIB_SOURCES = zlib/adler32.c zlib/crc32.c zlib/deflate.c zlib/infback.c \ |
| 67 | + zlib/inffast.c zlib/inflate.c zlib/inftrees.c zlib/trees.c \ |
| 68 | + zlib/uncompr.c zlib/zcompress.c zlib/zuncompress.c zlib/zutil.c |
| 69 | + |
| 70 | +SOURCES = ${CORE_SOURCES} ${ZLIB_SOURCES} ${FITSIO_SRC} |
| 71 | + |
| 72 | +OBJECTS = ${SOURCES:.c=.o} |
| 73 | + |
| 74 | +CORE_OBJECTS = ${CORE_SOURCES:.c=.o} ${ZLIB_SOURCES:.c=.o} |
| 75 | + |
| 76 | + |
| 77 | +FITSIO_SRC = f77_wrap1.c f77_wrap2.c f77_wrap3.c f77_wrap4.c |
| 78 | + |
| 79 | +# ============ description of all targets ============= |
| 80 | +# - <<-- ignore error code |
| 81 | + |
| 82 | +all: |
| 83 | + @if [ "x${FC}" = x ]; then \ |
| 84 | + ${MAKE} all-nofitsio; \ |
| 85 | + else \ |
| 86 | + ${MAKE} stand_alone; \ |
| 87 | + fi |
| 88 | + |
| 89 | +all-nofitsio: |
| 90 | + ${MAKE} stand_alone "FITSIO_SRC=" |
| 91 | + |
| 92 | +stand_alone: libcfitsio.a |
| 93 | + |
| 94 | +libcfitsio.a: ${OBJECTS} |
| 95 | + ${ARCHIVE} libcfitsio.a ${OBJECTS}; \ |
| 96 | + ${RANLIB} libcfitsio.a; |
| 97 | + |
| 98 | +shared: libcfitsio${SHLIB_SUFFIX} |
| 99 | + |
| 100 | +libcfitsio${SHLIB_SUFFIX}: ${OBJECTS} |
| 101 | + ${SHLIB_LD} ${LDFLAGS} -o ${CFITSIO_SHLIB} ${OBJECTS} -lm ${LIBS} |
| 102 | + @if [ "x${CFITSIO_SHLIB_SONAME}" != x ]; then \ |
| 103 | + ln -sf ${CFITSIO_SHLIB} ${CFITSIO_SHLIB_SONAME}; \ |
| 104 | + ln -sf ${CFITSIO_SHLIB_SONAME} $@; \ |
| 105 | + fi |
| 106 | + |
| 107 | +install: libcfitsio.a $(INSTALL_DIRS) |
| 108 | + /bin/cp -a libcfitsio* ${CFITSIO_LIB} |
| 109 | + /bin/cp fitsio.h fitsio2.h longnam.h drvrsmem.h ${CFITSIO_INCLUDE} |
| 110 | + /bin/cp cfitsio.pc ${CFITSIO_LIB}/pkgconfig |
| 111 | + |
| 112 | +.c.o: |
| 113 | + $(CC) -c -o ${<D}/${@F} $(CFLAGS) $(DEFS) $< |
| 114 | + |
| 115 | +swapproc.o: swapproc.c |
| 116 | + $(CC) -c $(CFLAGS) $(SSE_FLAGS) $(DEFS) $< |
| 117 | + |
| 118 | +smem: smem.o libcfitsio.a ${OBJECTS} |
| 119 | + ${CC} $(CFLAGS) $(DEFS) -o smem smem.o -L. -lcfitsio -lm |
| 120 | + |
| 121 | +testprog: testprog.o libcfitsio.a ${OBJECTS} |
| 122 | + ${CC} $(CFLAGS) $(DEFS) -o testprog testprog.o -L. -lcfitsio -lm ${LIBS} |
| 123 | + |
| 124 | +fpack: fpack.o fpackutil.o libcfitsio.a ${OBJECTS} |
| 125 | + ${CC} $(CFLAGS) $(DEFS) -o fpack fpack.o fpackutil.o libcfitsio.a -lm ${LIBS} |
| 126 | + |
| 127 | +funpack: funpack.o fpackutil.o libcfitsio.a ${OBJECTS} |
| 128 | + ${CC} $(CFLAGS) $(DEFS) -o funpack funpack.o fpackutil.o libcfitsio.a -lm ${LIBS} |
| 129 | + |
| 130 | +fitscopy: fitscopy.o libcfitsio.a ${OBJECTS} |
| 131 | + ${CC} $(CFLAGS) $(DEFS) -o fitscopy fitscopy.o -L. -lcfitsio -lm ${LIBS} |
| 132 | + |
| 133 | +speed: speed.o libcfitsio.a ${OBJECTS} |
| 134 | + ${CC} $(CFLAGS) $(DEFS) -o speed speed.o -L. -lcfitsio -lm ${LIBS} |
| 135 | + |
| 136 | +imcopy: imcopy.o libcfitsio.a ${OBJECTS} |
| 137 | + ${CC} $(CFLAGS) $(DEFS) -o imcopy imcopy.o -L. -lcfitsio -lm ${LIBS} |
| 138 | + |
| 139 | +listhead: listhead.o libcfitsio.a ${OBJECTS} |
| 140 | + ${CC} $(CFLAGS) $(DEFS) -o listhead listhead.o -L. -lcfitsio -lm ${LIBS} |
| 141 | + |
| 142 | +cookbook: cookbook.o libcfitsio.a ${OBJECTS} |
| 143 | + ${CC} $(CFLAGS) $(DEFS) -o cookbook cookbook.o -L. -lcfitsio -lm ${LIBS} |
| 144 | + |
| 145 | +eval: # Rebuild eval_* files from flex/bison source |
| 146 | + $(FLEX) -t eval.l > eval_l.c1 |
| 147 | + # Note workaround for yyfree=fffree conflict |
| 148 | + /bin/sed -e 's/yy/ff/g' -e 's/YY/FF/g' eval_l.c1 -e 's/fffree/yyfffree/g' > eval_l.c |
| 149 | + /bin/rm -f eval_l.c1 |
| 150 | + $(BISON) -d -v -y eval.y |
| 151 | + /bin/sed -e 's/yy/ff/g' -e 's/YY/FF/g' y.tab.c > eval_y.c |
| 152 | + /bin/sed -e 's/yy/ff/g' -e 's/YY/FF/g' y.tab.h > eval_tab.h |
| 153 | + /bin/rm -f y.tab.c y.tab.h |
| 154 | + |
| 155 | +clean: |
| 156 | + - /bin/rm -f *.o zlib/*.o libcfitsio* fpack funpack \ |
| 157 | + smem testprog y.output so_locations |
| 158 | + |
| 159 | +distclean: clean |
| 160 | + - /bin/rm -f Makefile cfitsio.pc config.log config.status configure.lineno |
| 161 | + |
| 162 | +# Make target which outputs the list of the .o contained in the cfitsio lib |
| 163 | +# usefull to build a single big shared library containing Tcl/Tk and other |
| 164 | +# extensions. used for the Tcl Plugin. |
| 165 | + |
| 166 | +cfitsioLibObjs: |
| 167 | + @echo ${CORE_OBJECTS} |
| 168 | + |
| 169 | +cfitsioLibSrcs: |
| 170 | + @echo ${SOURCES} |
| 171 | + |
| 172 | +# This target actually builds the objects needed for the lib in the above |
| 173 | +# case |
| 174 | +objs: ${CORE_OBJECTS} |
| 175 | + |
| 176 | +$(INSTALL_DIRS): |
| 177 | + @if [ ! -d $@ ]; then mkdir -p $@; fi |
0 commit comments