forked from usnistgov/hiperc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
78 lines (56 loc) · 1.98 KB
/
Makefile
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# Makefile for HiPerC code
all: cpu_diffusion cpu_spinodal gpu_diffusion gpu_spinodal
.PHONY: all
.PHONY: run
run: run_cpu_diffusion \
run_cpu_spinodal \
run_gpu_diffusion \
run_gpu_spinodal
# CPU codes
cpu_diffusion_list := cpu-serial-diffusion \
cpu-openmp-diffusion \
cpu-tbb-diffusion
cpu_spinodal_list := cpu-openmp-spinodal
.PHONY: cpu_diffusion
cpu_diffusion:
@$(foreach dir, $(cpu_diffusion_list), $(MAKE) -C $(dir);)
.PHONY: run_cpu_diffusion
run_cpu_diffusion:
@$(foreach dir, $(cpu_diffusion_list), $(MAKE) -C $(dir) run;)
.PHONY: cpu_spinodal
cpu_spinodal:
@$(foreach dir, $(cpu_spinodal_list), $(MAKE) -C $(dir);)
.PHONY: run_cpu_spinodal
run_cpu_spinodal:
@$(foreach dir, $(cpu_spinodal_list), $(MAKE) -C $(dir) run;)
# GPU codes
gpu_diffusion_list := gpu-cuda-diffusion \
gpu-openacc-diffusion \
gpu-opencl-diffusion
gpu_spinodal_list := gpu-cuda-spinodal
.PHONY: gpu_diffusion
gpu_diffusion:
@$(foreach dir, $(gpu_diffusion_list), $(MAKE) -C $(dir);)
.PHONY: run_gpu_diffusion
run_gpu_diffusion:
@$(foreach dir, $(gpu_diffusion_list), $(MAKE) -C $(dir) run;)
.PHONY: gpu_spinodal
gpu_spinodal:
@$(foreach dir, $(gpu_spinodal_list), $(MAKE) -C $(dir);)
.PHONY: run_gpu_spinodal
run_gpu_spinodal:
@$(foreach dir, $(gpu_spinodal_list), $(MAKE) -C $(dir) run;)
# Cleanup
.PHONY: clean
clean:
@$(foreach dir, $(cpu_diffusion_list), $(MAKE) -C $(dir) clean;)
@$(foreach dir, $(cpu_spinodal_list), $(MAKE) -C $(dir) clean;)
@$(foreach dir, $(gpu_diffusion_list), $(MAKE) -C $(dir) clean;)
@$(foreach dir, $(gpu_spinodal_list), $(MAKE) -C $(dir) clean;)
$(MAKE) -C doc clean
.PHONY: cleanall
cleanall:
@$(foreach dir, $(cpu_diffusion_list), $(MAKE) -C $(dir) cleanall;)
@$(foreach dir, $(cpu_spinodal_list), $(MAKE) -C $(dir) cleanall;)
@$(foreach dir, $(gpu_diffusion_list), $(MAKE) -C $(dir) cleanall;)
@$(foreach dir, $(gpu_spinodal_list), $(MAKE) -C $(dir) cleanall;)