New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Makefile in trunk/HEAD – NEMO

source: trunk/HEAD/Makefile @ 808

Last change on this file since 808 was 808, checked in by ctlod, 16 years ago

add new variables to allow users to better control compilation and jobs submission, see ticket:#61

  • Property svn:executable set to *
File size: 2.9 KB
Line 
1#####################################################################
2# Author : Claude Talandier for ESOPA
3# Contact : opatlod@locean-ipsl.upmc.fr
4#
5# INPUT ARGS: 6 + 1 (optional)
6#     - NAM_V      : name of the current test
7#     - LISTE_CONF : configurations name (ORCA2_LIM, GYRE ...)
8#     - JOBS_2LAUN : jobs to launch (nojob, all, long, short or gtime)
9#     - BUILD_MAKE : run type (mon, mpi ... )
10#     - MAK_TIME   : to perform a CPU time measure making a one year run
11#                    use key word 'timing' or 'notiming'
12#     - MAK_MEMO   : to perform a memory check
13#                    use key word 'memo' or 'nomemo'
14#     - REF_TAGV   : (optional) reference tag name. If specified,
15#                    current results will be compare to the results
16#                    of this tag (for a given configuration and run type)
17#
18# WORK: Allows to launch all the validation process, i.e.
19#     I.   compilations
20#     II.  simulations
21#     III. final report
22#
23#####################################################################
24SHELL = /bin/ksh
25#####################################################################
26##### Begin Users modifications
27#####################################################################
28#-
29#- Name of the test
30NAM_V = nemo_v2_3
31#-
32#- Configurations list which must be tested
33LISTE_CONF = GYRE ORCA2_LIM
34#-
35#- Jobs to launch use keyword: nojob, all, long, short or gtime
36JOBS_2LAUN = all
37#-
38#- Compilation list type to perform, mon (mono) &/or mpi &/or omp (Open-MP)
39BUILD_MAKE =  mon mpi
40#-
41#- Proceed to a timing, use key word 'timing' or 'notiming'
42MAK_TIME = notiming
43#-
44#- Proceed to a memory check, use key word 'memo' or 'nomemo'
45MAK_MEMO = nomemo
46#-
47#- Reference Tag version
48REF_TAGV = nemo_v2
49#-
50#####################################################################
51##### End Users modifications
52#####################################################################
53
54##
55all: $(LISTE_CONF)
56   @echo '      '
57   @echo '             ----->>>>>>>>>   Compilation process ended for configuration(s) :' $(LISTE_CONF)
58   @echo '      '
59
60#- Make good links & launch the compilation process
61$(LISTE_CONF):
62   @echo
63   @echo "CONFIGURATION :" $@
64   ( MYREP_LIST=`(cd 2TEST ; ls *.[Ffh]90 *.[Ffh])` ; \
65          cd ../$@/MY_SRC ; rm -rf *.[Ffh]90 ; if [ -n "$$MYREP_LIST" ] ; \
66        then ln -sf ../../HEAD/2TEST/*.[Ffh]90 . ; fi ; ) 
67   @echo "test=" $(NAM_V) > ../$@/specifs.txt
68   @echo "runs=" $(BUILD_MAKE) >> ../$@/specifs.txt
69   @echo "time=" $(MAK_TIME) >> ../$@/specifs.txt
70   @echo "memo=" $(MAK_MEMO) >> ../$@/specifs.txt
71   @echo "tagname=" $(REF_TAGV) >> ../$@/specifs.txt
72   @echo
73   @echo '             ----->>>>>>>>>   Links from' $@/MY_SRC ' to HEAD/2TEST done'
74   @echo
75   @echo '                              Build the Makefile for' $@ 'configuration'
76   ../../util/ins_make -w $@
77   @echo
78   @echo
79   gmake -C ../$@ RUN='$(BUILD_MAKE)' JOB=$(JOBS_2LAUN) RTG=$(REF_TAGV) MKTE=$(MAK_TIME) MKMO=$(MAK_MEMO) -j 2 > $@_step.txt
Note: See TracBrowser for help on using the repository browser.