VPATH = .:TMP .SUFFIXES: .SUFFIXES: .o .F90 .f90 .F .f .H .h include ../Make.Inc/make.inc # This is the hycom utility library # NB: Path is relative to TMP dir LIBS:= -L../../../lib/ -lhycnersc -lconfmap $(LIBS) # This is the hycom utility includes (modules) # NB: Path is relative to TMP dir INCLUDE:= -I../../../include/ $(INCLUDE) # AIX (xlf) peculiarities. NB: Only necessary for Fortran files ifneq (,$(findstring -DAIX,$(CPPFLAGS))) subs=-WF,- CPPFLAGS:=$(subst -,$(subs),$(CPPFLAGS)) endif # Rules for running cpp and updating files in TMP directory .F90.o: cd ./TMP ; $(CF90) -c $(CPPFLAGS) $(FFLAGS) $(F90FLG) $(INCLUDE) -o $*.o ../$< .F.o: cd ./TMP ; $(CF77) -c $(CPPFLAGS) $(FFLAGS) $(F77FLG) $(INCLUDE) -o $*.o ../$< ######################################################################## TARGET1 = gpseries TARGET2 = gppick TARGET3 = gpseries2 TARGET4 = gphovmoller TARGET5 = gppick2 all: $(TARGET1) $(TARGET2) $(TARGET3) $(TARGET4) $(TARGET5) ############################################################################# OBJECTS1= \ m_ncerr.o \ mod_read_gp.o \ m_masslayers.o \ p_gpseries.o $(TARGET1): $(OBJECTS1) cd ./TMP ; $(LD) $(LINKFLAGS) -o ../$(TARGET1) $(OBJECTS1) $(LIBS) ############################################################################# OBJECTS2= p_gppick.o $(TARGET2): $(OBJECTS2) cd ./TMP ; $(LD) $(LINKFLAGS) -o ../$(TARGET2) $(OBJECTS2) $(LIBS) ############################################################################# OBJECTS3= \ m_ncerr.o \ mod_read_gp.o \ m_masslayers.o \ p_gpseries2.o $(TARGET3): $(OBJECTS3) cd ./TMP ; $(LD) $(LINKFLAGS) -o ../$(TARGET3) $(OBJECTS3) $(LIBS) ############################################################################# ############################################################################# OBJECTS4= m_ncerr.o \ mod_read_gp.o \ p_gphovmoller.o $(TARGET4): $(OBJECTS4) cd ./TMP ; $(LD) $(LINKFLAGS) -o ../$(TARGET4) $(OBJECTS4) $(LIBS) ############################################################################# OBJECTS5= mod_read_gp.o p_gppick2.o $(TARGET5): $(OBJECTS5) cd ./TMP ; $(LD) $(LINKFLAGS) -o ../$(TARGET5) $(OBJECTS5) $(LIBS) ############################################################################# install : all mkdir -p ../../bin cp $(TARGET1) $(TARGET2) $(TARGET3) $(TARGET4) $(TARGET5) ../../bin clean: rm ./TMP/*.o TMP/*.mod $(TARGET1) $(TARGET2) $(TARGET3) $(TARGET4) $(TARGET5)