File: makefile

package info (click to toggle)
mpi4py 1.3%2Bhg20120611-3
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 2,020 kB
  • sloc: python: 9,503; ansic: 6,296; makefile: 571; f90: 158; sh: 146; cpp: 103
file content (54 lines) | stat: -rw-r--r-- 1,077 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
.PHONY: default build test clean

MPIEXEC=mpiexec -n 1

default: build test clean

MASTERS = cpi-master-py.exe cpi-master-c.exe cpi-master-cxx.exe cpi-master-f90.exe
WORKERS = cpi-worker-py.exe cpi-worker-c.exe cpi-worker-cxx.exe cpi-worker-f90.exe

build: ${MASTERS} ${WORKERS}

LANGS=py c cxx f90
test: build
	@for i in ${LANGS}; do \
	    for j in ${LANGS}; do \
                 ${MPIEXEC} ./cpi-master-$$i.exe ./cpi-worker-$$j.exe; \
	    done; \
	done 

clean:
	${RM} -r ${MASTERS} ${WORKERS}


MPICC=mpicc
MPICXX=mpicxx
MPIF90=mpif90

# Python
cpi-master-py.exe: cpi-master.py
	echo '#!'`which python` > $@
	cat $< >> $@
	chmod +x $@
cpi-worker-py.exe: cpi-worker.py
	echo '#!'`which python` > $@
	cat $< >> $@
	chmod +x $@

# C
cpi-master-c.exe: cpi-master.c
	${MPICC} $< -o $@
cpi-worker-c.exe: cpi-worker.c
	${MPICC} $< -o $@

# C++
cpi-master-cxx.exe: cpi-master.cxx
	${MPICXX} $< -o $@
cpi-worker-cxx.exe: cpi-worker.cxx
	${MPICXX} $< -o $@

# Fortran 90
cpi-master-f90.exe: cpi-master.f90
	${MPIF90} $< -o $@
cpi-worker-f90.exe: cpi-worker.f90
	${MPIF90} $< -o $@