# #Sep.Prog.defs.compile # # This is where we attempt to set smart # defaults for various platforms. # # These can be overwritten in either the SEP.site.defs # or in individual Makefiles. The only exception # is GNU and SEP_ARCH which must be either be # in SEP.override.defaults, located before the first # include statement in the makefile, or set as enviornmental variable # # For a more complete explenation of all of the possible variables # see the SEP.site.config file #=======================================================================# # GENERIC DEFAULTS # #=======================================================================# #Sort of Non-compiler specific defaults FIXNULL = HAVE_F90 := no CPP := /lib/cpp -P DEFINES := FPP := /lib/cpp -P OLD_FLAGS_BEFORE := OLD_FLAGS_AFTER = -o ${OBJDIR}/a.out WE_MOVE_OBJECTS := no OLEVEL := POSIX_DEFINE := -D_POSIX_SOURCE PREPROCESS = yes ifndef RATF90 RATF90 = yes endif #-----------# #C DEFAULTS # #-----------# CC := cc CEXT := c CLD := cc CLEVEL = ${OLEVEL} CPARFLAGS := OCOPTIMFLAGS = -O${COLEVEL} OCDEBUGFLAGS := -g OCDEFINES = ${DEFINES} OCFLAGS := -c OCLD_FLAGS_BEFORE = ${OLD_FLAGS_BEFORE} OCLD_FLAGS_AFTER = ${OLD_FLAGS_AFTER} OCLIBDIRS := OCLIBS := -lm -lc #-------------# #C++ DEFAULTS # #-------------# C++C := cc C++EXT := C C++LD := cc C++PARFLAGS := OC++DEBUGFLAGS := -g OC++DEFINES = ${DEFINES} C++LEVEL = ${OLEVEL} OC++OPTIMFLAGS = -O${C++OLEVEL} OC++FLAGS := -c OC++LD_FLAGS_BEFORE = ${OLD_FLAGS_BEFORE} OC++LD_FLAGS_AFTER = ${OLD_FLAGS_AFTER} OC++LIBDIRS := OC++LIBS := -lm -lc #-------------# #F77 DEFAULTS # #-------------# F77C := f77 F77_COMPILER_TYPE = F77CVT := f77cvt -e F77EXT = f F77LD := f77 F77OLEVEL = ${OLEVEL} F77OPTIMFLAGS = -O${F77OLEVEL} F77PARFLAGS := OF77DEBUGFLAGS := -g OF77DEFINES = ${DEFINES} OF77FLAGS := -c ${DEFINES} OF77LD_FLAGS_BEFORE = ${OLD_FLAGS_BEFORE} OF77LD_FLAGS_AFTER = ${OLD_FLAGS_AFTER} OF77LIBDIRS := OF77LIBS = ${OCLIBS} RATFOR = $(SEPBINDIR)/ratfor77 SAT = ${SEPBINDIR}/sat SAW = ${SEPBINDIR}/saw SAWF = ${SEPBINDIR}/sawf #-------------# #F90 DEFAULTS # #-------------# F90C := f90 F90_COMPILER_TYPE = F90EXT := f90 F90LD := f90 F90OLEVEL = ${OLEVEL} F90OPTIMFLAGS = -O${F90OLEVEL} F90PARFLAGS := F90MODSUFFIX = mod OF90DEBUGFLAGS := -g OF90DEFINES = ${DEFINES} OF90FLAGS := -c OF90LD_FLAGS_BEFORE = ${OLD_FLAGS_BEFORE} OF90LD_FLAGS_AFTER = ${OLD_FLAGS_AFTER} OF90LIBDIRS := OF90LIBS = ${OCLIBS} RATFOR90 = $(SEPBINDIR)/ratfor90 SAW90 = ${SEPBINDIR}/saw90 SAWF90 = ${SEPBINDIR}/sawf90 #LIBRARY DEFINITIONS AR := ar ARFLAGS := cr LD := ld LIB_LD_OPTIONS := -r RANLIB := ranlib #=======================================================================# # MACHINE DEPENDANT DEFAULT OVERIDES # #=======================================================================# #GNU is sort of the exception to the SEP_ARCH #rule. As a result we ignore SEP_ARCH to set some basic #GNU defaults ifeq (${GNU}, YES) F77C := g77 F77_COMPILER_TYPE = GNU OF77FLAGS := -c -ffixed-line-length-none -ff90 -fdollar-ok CC := gcc DEFINES = -DGNUF77 -DGNU -DSIGFNC_RTN_VOID ${POSIX_DEFINE} OF77LIBS := -lm -lc else #NOT GNU # # If it isn't GNU we override for various SEP_ARCH possibilities # ifeq (${SEP_ARCH}, CM5) RATFOR = $(SEPBINDIR)/ratfor77 -6+ F90EXT := fcm OF90DEBUGFLAGS := -cmdebug OF77FLAGS := -c -e OF77LIBDIRS := /usr/lang/SC3.0.1 DEFINES := -DSUN -DSIGFNC_RTN_VOID -DCM5 -DCM5_DASH endif ifeq (${SEP_ARCH}, CONVEX) RATFOR = $(SEPBINDIR)/ratfor77 -6+ DEFINES := -DCONVEX -DSIGFNC_RTN_VOID OCFLAGS := -c OF77LIBS := -lveclib -lF77 -lU77 -lI77 -lD77 -lmathC1 endif ifeq (${SEP_ARCH}, CRAY) RATFOR = $(SEPBINDIR)/ratfor77 -6+ F77C := cf77 F77COPTIMFLAGS := -Zv OF77FLAGS := -c -N80 DEFINES := -DCRAY -DSIGFNC_RTN_VOID -D_CRAY -DUSG OLEVEL := 2 RANLIB := echo no need to ranlib WE_MOVE_OBJECT := yes endif ifeq (${SEP_ARCH}, DEC3100) RATFOR = $(SEPBINDIR)/ratfor77 -6+ OF77FLAGS := -extend_source -cpp -c OF77LIBS := -lF77 -lI77 -lU77 DEFINES := -DDEC3100 -DSIGFNC_RTN_VOID endif ifeq (${SEP_ARCH}, DECalpha) F77C := f77 -v OF77FLAGS := -c -extend_source OCFLAGS := -std1 -c DEFINES := -DDECALPHA -DSIGFNC_RTN_VOID -DUSG -D_OSF_SOURCE -D_XOPEN_SOURCE OF77LIBS := -lUfor -lfor -lFutil -lm -lots CLIBS := -lm endif ifeq (${SEP_ARCH}, HP700) F77C := fort77 -v F77LD := fort77 -v OF77FLAGS := -c +e +es +ppu CC := c89 -D_HPUX_SOURCE POSIX_DEFINE = DEFINES := -DHP700 -DSIGFNC_RTN_VOID -DUSG ${POSIX_DEFINE} OF77LIBS = -lBSD -lm -lcl -lc OF90LIBS = -lBSD -lm -lcl -lc LD_FLAGS_BEFORE := -Wl,-a,archive endif ifeq (${SEP_ARCH}, LINUX) BSDLIB = -lbsd F77_COMPILER_TYPE = GNU F77C := g77 F90C := f90 -free -mismatch F90_COMPILER_TYPE = NAG HAVE_F90 := yes OF77FLAGS := -c -ffixed-line-length-none -ff90 -fdollar-ok CC := gcc OCLIBS := -lc -lm -lieee FPP := /lib/cpp -P -traditional LEXLIB := -lfl DEFINES := -DGNUF77 -Df2cFortran -DGNU -DSIGFNC_RTN_VOID -DLINUX -D_POSIX_SOURCE F90DEFINES := -DSIGFNC_RTN_VOID -DLINUX -D_POSIX_SOURCE ifneq (/usr/include/curses.h,$(wildcard /usr/include/curses.h)) OCFLAGS := -I/usr/include/ncurses -c OC++FLAGS := -I/usr/include/ncurses -c endif OF77LIBS := -lf2c -lm -lieee OF90LIBS := -lf2c -lm -lieee endif ifeq (${SEP_ARCH}, RS6000) FIXNULL := | shortfort F77C := xlf OF77FLAGS := -c -qextname OCFLAGS := -c -D_SUN -D_ALL_SOURCE -D_POSIX_SOURCE DEFINES := -DRS6000 -DSIGFNC_RTN_VOID INSTALL := /usr/ucb/install OF77LIBS := -lxlf -lc LD_FLAGS_BEFORE := -bnso -bI:/lib/syscalls.exp endif ifeq (${SEP_ARCH}, SGI) RATFOR = $(SEPBINDIR)/ratfor77 -6+ OF77LIBS := asddf -lF77 -lI77 -lU77 -lsun -lPW -lm OCFLAGS := -common -c OCLIBS := -lm DEFINES := -DSGI -DUSG -D__STDC__ -D_BSD_COMPAT CPARFLAGS := -pca F77PARFLAGS := -pfa F90MODSUFFIX = kmo F90PARFLAGS := -pfa RANLIB := echo no need to ranlib endif ifeq (${SEP_ARCH}, SGI32) CC := cc -32 OF77LIBS := -lF77 -lI77 -lU77 -lsun -lPW -lm F77C := f77 -32 F90C := f90 -32 DEFINES := -DSGI -DUSG -D__STDC__ -D_BSD_COMPAT LIB_LD_OPTIONS := -n32 -r OCFLAGS := -common -c OLD_FLAGS_BEFORE := -n32 OCLIBS := -lm OF77FLAGS := -c -extend_source OF77LIBS := -lI77 -lU77 -lm OF90FLAGS := -c -extend_source CPARFLAGS := -pca F77PARFLAGS := -pfa F90PARFLAGS := -pfa F90MODSUFFIX = kmo RANLIB := echo no need to ranlib RATFOR = $(SEPBINDIR)/ratfor77 -6+ endif ifeq (${SEP_ARCH}, SGI64) CC := cc -64 CLD := cc -64 DEFINES := -DSGI -DUSG -D__STDC__ -D_BSD_COMPAT F77C := f77 -64 F90C := f90 -64 F90MODSUFFIX = kmo HAVE_F90 := yes LIB_LD_OPTIONS := -64 -r OCFLAGS := -common -c OCLIBS := -lm OF77FLAGS := -c -extend_source OF77LD_FLAGS_BEFORE = -64 OF77LIBS := -lm OF90FLAGS := -c -extend_source OF90LD_FLAGS_BEFORE = -64 OF90LIBS := -lm CPARFLAGS := -pca F77PARFLAGS := -pfa F90PARFLAGS := -pfa RANLIB := echo no need to ranlib RATFOR = $(SEPBINDIR)/ratfor77 -6+ endif ifeq (${SEP_ARCH}, SOLARIS) RATFOR = $(SEPBINDIR)/ratfor77 -6+ F77OLEVEL = 3 OF77FLAGS = -c -e OCLIBS = -Bstatic -lsocket -Bdynamic -lnsl -lgen -lintl -lw -lm OF77LIBS = -lM77 -lF77 -lsunmath $(CLIBS) DEFINES = -DSOLARIS -DSUN -DSIGFNC_RTN_VOID CPP = /usr/ccs/lib/cpp -P F90MODSUFFIX = M FPP = /usr/ccs/lib/cpp -P HAVE_F90 = yes endif ifeq (${SEP_ARCH}, SUN4) F90 := cmf OF90FLAGS := -c -e OF77FLAGS := -c -e RATFOR := $(SEPBINDIR)/ratfor77 -6+ F77OLEVEL := 3 OF77LIBS := -L/usr/lang/SC3.0.1 OCLIBS := /usr/lang/SC3.0.1/lib/values-Xs.o -L/usr/lang/SC3.0.1/cg92 -L/usr/lang/SC3.0.1/lib /usr/lang/SC3.0.1/lib/libM77.a -lF77 -lansi -lc -lsunmath -lm CP := /usr/local/bin/cp LIB_LD_OPTIONS := -r -x ARFLAGS := cr LD_FLAGS_BEFORE := -Bstatic LD_FLAGS_AFTER := -Bdynamic -ldl -Bstatic -o ${OBJDIR}/a.out endif endif #END OF GNU IF STATEMENT;