Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
more cleanups in NAS
[simgrid.git] / examples / smpi / NAS / sys / make.common
1 PROGRAM  = $(BINDIR)/$(BENCHMARK).$(CLASS).$(NPROCS)
2 CCOMPILE = $(MPICC)  -c $(CMPI_INC) $(CFLAGS)
3
4 # Class "U" is used internally by the setparams program to mean
5 # "unknown". This means that if you don't specify CLASS=
6 # on the command line, you'll get an error. It would be nice
7 # to be able to avoid this, but we'd have to get information
8 # from the setparams back to the make program, which isn't easy. 
9 CLASS=U
10 NPROCS=1
11
12 default:: ${PROGRAM}
13
14 # This makes sure the configuration utility setparams 
15 # is up to date. 
16 # Note that this must be run every time, which is why the
17 # target does not exist and is not created. 
18 # If you create a file called "config" you will break things. 
19 config:
20         @cd ../sys; ${MAKE} all
21         ../sys/setparams ${BENCHMARK} ${NPROCS} ${CLASS} ${SUBTYPE}
22
23 COMMON=../common
24 $${COMMON}/c_randdp.o: ${COMMON}/randdp.c
25         cd ${COMMON}; ${CCOMPILE} -o c_randdp.o randdp.c
26
27 ${COMMON}/c_print_results.o: ${COMMON}/c_print_results.c
28         cd ${COMMON}; ${CCOMPILE} c_print_results.c
29
30 ${COMMON}/c_timers.o: ${COMMON}/c_timers.c
31         cd ${COMMON}; ${CCOMPILE} c_timers.c
32
33 # Normally setparams updates npbparams.h only if the settings (CLASS/NPROCS)
34 # have changed. However, we also want to update if the compile options
35 # may have changed (set in ../config/make.def). 
36 npbparams.h: ../config/make.def
37         @ echo make.def modified. Rebuilding npbparams.h just in case
38         rm -f npbparams.h
39         ../sys/setparams ${BENCHMARK} ${NPROCS} ${CLASS} ${SUBTYPE}
40
41 # So that "make benchmark-name" works
42 ${BENCHMARK}:  default
43 ${BENCHMARKU}: default
44
45