?? makefile
字號:
#-----------------------------------------------------------------------# This Makefile is for building cprlndnc# on a CRAY, SGI or SUN platform##------------------------------------------------------------------------# Set up special charactersnull :=## Default variables## Check for the NetCDF library and include directories ifeq ($(LIB_NETCDF),$(null))LIB_NETCDF := /usr/local/libendififeq ($(INC_NETCDF),$(null))INC_NETCDF := /usr/local/includeendifEXENAME := cprlndncRM := rmUNAMES := $(shell uname -s)UNAMEM := $(findstring CRAY,$(shell uname -m))# If path to source code not givenifeq ($(VPATH),$(null)) VPATH:= .endifdirs := $(subst :,$(space),$(VPATH))# Get list of files and determine objects and dependency filesFIND_FILES = $(wildcard $(dir)/*.c $(dir)/*.F $(dir)/*.F90)FILES = $(foreach dir, $(dirs),$(FIND_FILES))SOURCES := $(sort $(notdir $(FILES)))OBJS := $(addsuffix .o, $(basename $(SOURCES)))# If executable directory not givenifeq ($(EXEDIR),$(null)) EXEDIR := $(HOME)/bin ifeq ($(UNAMES),IRIX64) EXEDIR := $(HOME)/bin/IRIX64 endifendif.SUFFIXES:.SUFFIXES: .F .o$(EXEDIR)/$(EXENAME): $(OBJS) $(FC) -o $@ $(OBJS) $(LDFLAGS)# Architecture-specific flags and rules##------------------------------------------------------------------------# Cray #------------------------------------------------------------------------ifeq ($(UNAMEM),CRAY)FC := f90CPP := cppFPPFLAGS := -DCRAY -N -PCFLAGS := -DCRAY -gFFLAGS := -DCRAY -c -G1 -Otask0 -I$(INC_NETCDF)LDFLAGS := -L $(HOME)/lib,$(LIB_NETCDF) -lncaro,timing,netcdfMODULES =.F.o: $(CPP) $(FPPFLAGS) $< > $*.f90 $(FC) $(FFLAGS) $*.f90# $(RM) $*.f90endif#------------------------------------------------------------------------# SGI#------------------------------------------------------------------------ifeq ($(UNAMES),IRIX64)FC := f90CPP := /lib/cppFFLAGS := -64 -DSGI -I$(INC_NETCDF) -mips4 -g -c -C -freeformLDFLAGS := -64 -g -L$(LIB_NETCDF) -lnetcdf -lfpeMODULES = *.mod.F.o: $(FC) $(FFLAGS) $<endif#------------------------------------------------------------------------# OSF1#------------------------------------------------------------------------ifeq ($(UNAMES),OSF1)FC := f90FFLAGS := -I$(INC_NETCDF) -g -c -freeLDFLAGS := -L$(LIB_NETCDF) -lnetcdfMODULES = *.mod.F.o: $(FC) $(FFLAGS) $<endif#-----------------------------------------------------------------------# SUN#-----------------------------------------------------------------------ifeq ($(UNAMES),SunOS)FC := f90CPP := cppCFLAGS := -DSUN -I.. -gFFLAGS := -I$(INC_NETCDF) -DSUN -c -O2 -stackvar -xpp=cpp -freeLDFLAGS := -L$(LIB_NETCDF) -L$(HOME)/lib -lnetcdfMODULES = *.M *.mod.F.o: $(FC) $(FFLAGS) $<endif#------------------------------------------------------------------------# LINUX#------------------------------------------------------------------------ifeq ($(UNAMES),Linux)FC := pgf90FFLAGS := -DLINUX -I$(INC_NETCDF) -c -Mfreeform -Mrecursive -Mdalign -Mfreeformifeq ($(DEBUG),TRUE) FFLAGS += -g -Mbounds -Ktrap=fp -DDEBUGelse FFLAGS += -fast endifLDFLAGS := -g -L$(LIB_NETCDF) -lnetcdf.F.o: $(FC) $(FFLAGS) $<endif#------------------------------------------------------------------------# AIX#------------------------------------------------------------------------ifeq ($(UNAMES),AIX)FC := xlf90FFLAGS := -I$(INC_NETCDF) -c -qarch=auto -qstrict -O3 -qdpc=eLDFLAGS := -bmaxdata:0x20000000 -L$(LIB_NETCDF) -lnetcdf.F.o: $(FC) $(FFLAGS) $<endif## Clean rule#clean: $(RM) -f $(OBJS) $(MODULES) $(EXEDIR)/$(EXENAME)precision.o: precision.Fheader.o: header.F precision.ocpr.o: cpr.F header.o stats.o precision.o nldat.ocprtps.o: cprtps.F header.o nldat.oheader.o: header.F precision.oinitstats.o: initstats.F stats.o precision.oismax.o: ismax.Flenchr.o: lenchr.Fnldat.o: nldat.Fprhddiff.o: prhddiff.F precision.o header.oprintstats.o: printstats.F stats.o precision.ostats.o: stats.F precision.owrap_nf.o: precision.o wrap_nf.F
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -