1#------------------------------------------------------------------------------ 2# 3# NSSDC/CDF CDF library makefile. 4# 5# Version 1.5b, 3-Apr-97, Hughes STX. 6# 7# Modification history: 8# 9# V1.0 15-Dec-93, J Love Original version. 10# V1.0a 23-Feb-94, J Love Added `CC='. 11# V1.0b 6-Apr-94, J Love Finished `CC='. 12# V1.1 14-Nov-94, J Love CDF V2.5. 13# V1.2 30-Dec-94, J Love Corrected dependencies. 14# V1.2a 19-Jan-95, J Love IRIX 6.x. 15# V1.3 16-Mar-95, J Love Multi-compiler support, etc. 16# V1.4 3-Apr-95, J Love POSIX. 17# V1.4a 4-May-95, J Love Added `cdfmem.c'. 18# V1.5 13-Jun-96, J Love CDF V2.6. 19# V1.5a 21-Feb-97, J Love Removed RICE. 20# V1.5b 3-Apr-97, J Love Removed mysterious `-M' option. 21# 22#------------------------------------------------------------------------------ 23# 24# Notes: 25# 26# `make' on DECstations complains (prints an error message) if an if-then-else 27# construct evaluates to FALSE but there is no `false' part. To prevent this, 28# the `NULL' command is executed as the `false' part. 29# 30#------------------------------------------------------------------------------ 31 32.SILENT: 33 34SHELL=/bin/sh 35NULL=true 36 37SHARED= 38PIC= 39CCx= 40LDx= 41COPTIONS= 42SYSLIBS= 43SHAREDEXT= 44LDOPTIONS= 45AROPTIONS= 46RANLIB= 47 48INCLUDEcdf=../include 49 50CC=$(CCx) 51LD=$(LDx) 52AR=ar 53RANLIBcmd=ranlib 54MACos=Darwin 55 56CFLAGS=$(COPTIONS) $(PIC) -I$(INCLUDEcdf) 57LDFLAGS=$(LDOPTIONS) 58ARFLAGS=$(AROPTIONS) 59 60OBJs= \ 61cdflib.o cdfcre.o cdfope.o cdfclo.o cdfdel.o cdfsel.o cdfcon.o \ 62cdfget.o cdfmisc2.o cdfread.o cdfwrite.o cdfhyper.o epochuf.o dirutils.o \ 63cdfput1.o cdfput2.o cdfcsi.o cdffsi.o cdffii.o cdftext.o cdfed.o \ 64cdfstr.o cdfvalid.o cdfmem.o vstream.o epochu.o cdfmisc3.o cdfhuff.o \ 65cdfrle.o cdfmisc1.o cdfalloc.o cdfgzip.o cdfalloc64.o cdfdel64.o cdfmisc2_64.o \ 66cdfread64.o cdfclo64.o cdfget64.o cdfmisc3_64.o cdfsel64.o cdfcon64.o \ 67cdfput1_64.o cdfwrite64.o cdfcre64.o cdfmisc1_64.o cdfput2_64.o vstream64.o \ 68cdfhyper64.o cdfrle64.o cdfhuff64.o cdfgzip64.o cdffsi2.o cdffsi3.o cdfcks.o \ 69cdfmd5.o cdfsav.o cdfvalidator.o cdfvalidator64.o 70 71CDFh= $(INCLUDEcdf)/cdf.h 72CDFREVh= $(INCLUDEcdf)/cdfrev.h 73CONFIGh= $(INCLUDEcdf)/cdfconfig.h 74CDFDISTh= $(INCLUDEcdf)/cdfdist.h $(CDFh) $(CONFIGh) 75CDFLIBh= $(INCLUDEcdf)/cdflib.h $(INCLUDEcdf)/cdflib64.h $(CDFDISTh) 76CDFMD5h = $(CDFLIBh) $(INCLUDEcdf)/cdfmd5.h 77 78#------------------------------------------------------------------------------ 79# Compile/link. 80#------------------------------------------------------------------------------ 81 82all: libcdf.a shared.$(SHARED) 83 84libcdf.a: $(OBJs) 85 @if [ -f $@ ] ; then rm $@ ; else $(NULL) ; fi 86 @echo $(AR) $(ARFLAGS) $@ $(OBJs) 87 $(AR) $(ARFLAGS) $@ $(OBJs) 88 @make ranlib.$(RANLIB) 89 90ranlib.yes: 91 @echo $(RANLIBcmd) libcdf.a 92 $(RANLIBcmd) libcdf.a 93# @cp .ranlib .ranlib.yes 94 95shared.yes: libcdf.$(SHAREDEXT) 96 97libcdf.so \ 98libcdf.dylib \ 99libcdf.sl: $(OBJs) 100 @if [ -f $@ ] ; then rm $@ ; else $(NULL) ; fi 101 if [ $(MACos) = `uname` ] ; then \ 102 echo $(LD) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS); \ 103 $(LD) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS); \ 104 else \ 105 echo $(LD) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS); \ 106 $(LD) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS); \ 107 fi 108 109libcdf.o: $(OBJs) 110 @echo $(CC) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS) 111 $(CC) $(LDFLAGS) -o $@ $(OBJs) $(SYSLIBS) 112 113.c.o: 114 @echo $(CC) $(CFLAGS) -c $< 115# $(CC) -ggdb $(CFLAGS) -c $< 116 $(CC) $(CFLAGS) -c $< 117 118cdflib.o: cdflib.c $(CDFLIBh) 119cdfcre.o: cdfcre.c $(CDFLIBh) $(CDFREVh) 120cdfope.o: cdfope.c $(CDFLIBh) $(CDFREVh) 121cdfdel.o: cdfdel.c $(CDFLIBh) 122cdfclo.o: cdfclo.c $(CDFLIBh) 123cdfget.o: cdfget.c $(CDFLIBh) $(CDFREVh) 124cdfput1.o: cdfput1.c $(CDFLIBh) 125cdfput2.o: cdfput2.c $(CDFLIBh) 126cdfsel.o: cdfsel.c $(CDFLIBh) 127cdfcon.o: cdfcon.c $(CDFLIBh) 128cdfwrite.o: cdfwrite.c $(CDFLIBh) 129cdfread.o: cdfread.c $(CDFLIBh) 130cdfmisc1.o: cdfmisc1.c $(CDFLIBh) $(CDFREVh) 131cdfmisc2.o: cdfmisc2.c $(CDFLIBh) 132cdfmisc3.o: cdfmisc3.c $(CDFLIBh) 133cdfalloc.o: cdfalloc.c $(CDFLIBh) $(CDFREVh) 134cdftext.o: cdftext.c $(CDFLIBh) 135cdfcsi.o: cdfcsi.c $(CDFLIBh) 136cdffsi.o: cdffsi.c $(CDFLIBh) 137cdffsi2.o: cdffsi2.c $(CDFLIBh) 138cdffsi3.o: cdffsi3.c $(CDFLIBh) 139cdffii.o: cdffii.c $(CDFLIBh) 140cdfstr.o: cdfstr.c $(CDFLIBh) 141cdfed.o: cdfed.c $(CDFLIBh) 142cdfvalid.o: cdfvalid.c $(CDFLIBh) 143cdfhyper.o: cdfhyper.c $(CDFLIBh) 144cdfhyper64.o: cdfhyper64.c $(CDFLIBh) 145cdfmem.o: cdfmem.c $(CDFLIBh) 146cdfhuff.o: cdfhuff.c $(CDFLIBh) 147cdfrle.o: cdfrle.c $(CDFLIBh) 148cdfgzip.o: cdfgzip.c $(CDFLIBh) 149epochu.o: epochu.c $(CDFLIBh) 150epochuf.o: epochuf.c $(CDFLIBh) 151dirutils.o: dirutils.c $(CDFLIBh) 152vstream.o: vstream.c $(CDFLIBh) 153cdfalloc64.o: cdfalloc64.c $(CDFLIBh) $(CDFREVh) 154cdfclo64.o: cdfclo64.c $(CDFLIBh) 155cdfcon64.o: cdfcon64.c $(CDFLIBh) 156cdfcre64.o: cdfcre64.c $(CDFLIBh) $(CDFREVh) 157cdfdel64.o: cdfdel64.c $(CDFLIBh) 158cdfget64.o: cdfget64.c $(CDFLIBh) $(CDFREVh) 159cdfput1_64.o: cdfput1_64.c $(CDFLIBh) 160cdfput2_64.o: cdfput2_64.c $(CDFLIBh) 161cdfmisc1_64.o: cdfmisc1_64.c $(CDFLIBh) $(CDFREVh) 162cdfmisc2_64.o: cdfmisc2_64.c $(CDFLIBh) 163cdfmisc3_64.o: cdfmisc3_64.c $(CDFLIBh) 164cdfread64.o: cdfread64.c $(CDFLIBh) 165cdfsel64.o: cdfsel64.c $(CDFLIBh) 166cdfwrite64.o: cdfwrite64.c $(CDFLIBh) 167vstream64.o: vstream64.c $(CDFLIBh) 168cdfhuff64.o: cdfhuff64.c $(CDFLIBh) 169cdfrle64.o: cdfrle64.c $(CDFLIBh) 170cdfgzip64.o: cdfgzip64.c $(CDFLIBh) 171cdfcks.o: cdfcks.c $(CDFLIBh) $(CDFMD5h) 172cdfmd5.o: cdfmd5.c $(CDFLIBh) $(CDFMD5h) 173cdfsav.o: cdfsav.c $(CDFLIBh) 174cdfvalidator.o: cdfvalidator.c $(CDFLIBh) 175cdfvalidator64.o: cdfvalidator64.c $(CDFLIBh) 176 177ranlib.no: 178shared.no: 179 180#------------------------------------------------------------------------------ 181# Clean/purge. 182#------------------------------------------------------------------------------ 183 184clean: 185 @-rm -f *.o 186 @-rm -f core 187 @-rm -f libcdf.a 188 @-rm -f libcdf.so 189 @-rm -f libcdf.sl 190 @-rm -f libcdf.dylib 191 192purge: 193 @-rm -f *~ 194 @-rm -f *# 195