source: dynamico_lmdz/simple_physics/phyparam/Makefile @ 4225

Last change on this file since 4225 was 4225, checked in by dubos, 6 years ago

simple_physics : minor changes to compile with gfortran and parse code using XCodeML F_Front

File size: 1.3 KB
Line 
1# Examples (bash) :
2# clear ; make clean ;
3# F90=ifort FFLAGS=-fast time make -j
4# F90=gfortran F90FLAGS=-ffree-line-length-none gmake
5# known to compile with gfortran version 7, ifort version 17
6
7# if XCodeML F_Front is installed, set FFRONT=F_Front to parse code into XML
8FFRONT ?= true
9
10VPATH = obj
11NAMES = $(basename $(notdir $(wildcard physics/*.F90)))
12OBJECTS = $(addprefix obj/, $(addsuffix .o, $(NAMES)))
13
14all : obj $(OBJECTS) lib/libphyparam.so
15
16obj :
17        @mkdir obj include lib xml
18
19clean :
20        rm -f obj/* include/* lib/* xml/*
21
22%.so : $(OBJECTS)
23        $(F90) -shared $^ -o $@ 
24
25obj/convection.o       : logging.o
26obj/surface.o          : logging.o
27obj/astronomy.o        : logging.o planet.o
28obj/solar.o            : logging.o astronomy.o
29obj/radiative_lw.o     : logging.o phys_const.o
30obj/radiative_sw.o     : logging.o phys_const.o
31obj/turbulence.o       : logging.o phys_const.o planet.o
32MAIN                   : callkeys.o phys_const.o astronomy.o turbulence.o surface.o convection.o
33obj/iniphyparam_mod.o  : MAIN read_param_mod.o
34obj/phyparam_mod.o     : MAIN solar.o radiative_sw.o radiative_lw.o comgeomfi.o writefield_mod.o
35
36SRC = $(basename $(notdir $@))
37obj/%.o: physics/%.F90
38        $(F90) -I include -fPIC $(F90FLAGS) -c $<
39        @mv $(SRC).mod include
40        @mv $(SRC).o obj
41        @cpp -DXCODEML $< > xml/$(SRC).f90
42        @$(FFRONT) -M xml xml/$(SRC).f90 > xml/$(SRC).xml
Note: See TracBrowser for help on using the repository browser.