1 # To build this by itself, use the make target esmf_time_f90_only
2 # from the top-level WRF Makefile.
5 # make esmf_time_f90_only
9 # get rid of single quotes after comments
10 # WARNING: This will break if a quoted string is followed by a comment that has
12 SED_FTN
= sed
-e
"/\!.*'/s/'//g"
20 OBJS
= ESMF_Alarm.o ESMF_BaseTime.o ESMF_Clock.o ESMF_Time.o \
21 Meat.o ESMF_Base.o ESMF_Calendar.o ESMF_Fraction.o \
22 ESMF_TimeInterval.o ESMF_Stubs.o ESMF_Mod.o \
23 module_symbols_util.o \
24 module_utility.o ESMF_AlarmClock.o
26 default
: libesmf_time.a
28 tests
: Test1_ESMF.exe Test1_WRFU.exe
30 libesmf_time.a
: $(OBJS
)
32 if
[ "$(AR)" != "lib.exe" ] ; then \
33 $(AR
) ru libesmf_time.a
$(OBJS
) ; \
35 $(AR
) /out
:libesmf_time.a
$(OBJS
) ; \
37 $(RANLIB
) libesmf_time.a
39 Test1_ESMF.f
: Test1.F90
40 $(RM
) Test1_ESMF.b Test1_ESMF.f
41 cp Test1.F90 Test1_ESMF.b
42 $(CPP
) -I. Test1_ESMF.b
> Test1_ESMF.f
44 Test1_ESMF.exe
: libesmf_time.a Test1_ESMF.o
45 $(FC
) -o Test1_ESMF.exe Test1_ESMF.o libesmf_time.a
47 Test1_WRFU.f
: Test1.F90
48 $(RM
) Test1_WRFU.b Test1_WRFU.f
49 sed
-e
"s/ESMF_Mod/module_utility/g" -e
"s/ESMF_/WRFU_/g" Test1.F90
> Test1_WRFU.b
50 $(CPP
) -I. Test1_WRFU.b
> Test1_WRFU.f
52 Test1_WRFU.exe
: libesmf_time.a Test1_WRFU.o
53 $(FC
) -o Test1_WRFU.exe Test1_WRFU.o libesmf_time.a
57 $(SED_FTN
) $*.F90
> $*.b
58 $(CPP
) -I.
$*.b
> $*.f
60 @ if echo
$(CPP
) |
$(FGREP
) 'DVAR4D'; then \
61 echo COMPILING
$*.F90 for
4DVAR
; \
62 $(WRF_SRC_ROOT_DIR
)/var
/build
/da_name_space.pl
$*.f
> $*.f.tmp
; \
69 $(SED_FTN
) $*.F90
> $*.b
70 $(CPP
) -I.
$*.b
> $*.f
72 @ if echo
$(CPP
) |
$(FGREP
) 'DVAR4D'; then \
73 echo COMPILING
$*.F90 for
4DVAR
; \
74 $(WRF_SRC_ROOT_DIR
)/var
/build
/da_name_space.pl
$*.f
> $*.f.tmp
; \
86 @
$(RM
) *.b
*.f
*.o
*.obj
*.i libesmf_time.a
*.mod Test1
*.exe
89 @
$(RM
) Test1
*.out make_tests.out
91 # DEPENDENCIES : only dependencies after this line
93 #$$$ update dependencies!
95 ESMF_Alarm.o
: ESMF_Base.o ESMF_Time.o ESMF_TimeInterval.o
96 ESMF_BaseTime.o
: ESMF_Base.o
97 ESMF_Clock.o
: ESMF_Base.o ESMF_Time.o ESMF_TimeInterval.o ESMF_Alarm.o
98 ESMF_AlarmClock.o
: ESMF_Alarm.o ESMF_Clock.o ESMF_Time.o ESMF_TimeInterval.o
99 ESMF_Time.o
: ESMF_Base.o ESMF_BaseTime.o ESMF_TimeInterval.o ESMF_Calendar.o \
102 ESMF_Calendar.o
: ESMF_Base.o ESMF_BaseTime.o
104 ESMF_TimeInterval.o
: ESMF_Base.o ESMF_BaseTime.o ESMF_Calendar.o ESMF_Fraction.o
105 ESMF_Mod.o
: ESMF_Alarm.o ESMF_BaseTime.o ESMF_Clock.o ESMF_Time.o \
106 ESMF_Base.o ESMF_Calendar.o ESMF_Fraction.o \
107 ESMF_TimeInterval.o ESMF_Stubs.o ESMF_AlarmClock.o
108 Meat.o
: ESMF_Alarm.o ESMF_BaseTime.o ESMF_Clock.o ESMF_Time.o \
109 ESMF_Base.o ESMF_Calendar.o ESMF_Fraction.o \
111 ESMF_Stubs.o
: ESMF_Base.o ESMF_Calendar.o
112 module_utility.o
: module_symbols_util.o
113 module_symbols_util.o
: ESMF_Mod.o
114 Test1.o
: module_utility.o