-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmakefile
54 lines (37 loc) · 1.67 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
SHELL := /bin/bash
# Common settings
CHPL_COMPILER := chpl
CHPL_COMMON_OPTS := --fast -M lib/common
# Source files
CHPL_NQUEENS_SOURCES := nqueens_chpl.chpl nqueens_gpu_chpl.chpl nqueens_multigpu_chpl.chpl nqueens_dist_multigpu_chpl.chpl
CHPL_PFSP_SOURCES := pfsp_chpl.chpl pfsp_gpu_chpl.chpl pfsp_multigpu_chpl.chpl pfsp_dist_multigpu_chpl.chpl
# Executable files
CHPL_NQUEENS_EXECUTABLES := $(CHPL_NQUEENS_SOURCES:.chpl=.out)
CHPL_PFSP_EXECUTABLES := $(CHPL_PFSP_SOURCES:.chpl=.out)
# Library paths
CHPL_NQUEENS_LIBPATH := -M lib/nqueens
CHPL_PFSP_LIBPATH := -M lib/pfsp
# Build codes
all: $(CHPL_NQUEENS_EXECUTABLES) $(CHPL_PFSP_EXECUTABLES)
# N-Queens
nqueens_chpl.out: nqueens_chpl.chpl
$(CHPL_COMPILER) $(CHPL_COMMON_OPTS) $(CHPL_NQUEENS_LIBPATH) $< -o $@
nqueens_gpu_chpl.out: nqueens_gpu_chpl.chpl
$(CHPL_COMPILER) $(CHPL_COMMON_OPTS) $(CHPL_NQUEENS_LIBPATH) $< -o $@
nqueens_multigpu_chpl.out: nqueens_multigpu_chpl.chpl
$(CHPL_COMPILER) $(CHPL_COMMON_OPTS) $(CHPL_NQUEENS_LIBPATH) $< -o $@
nqueens_dist_multigpu_chpl.out: nqueens_dist_multigpu_chpl.chpl
$(CHPL_COMPILER) $(CHPL_COMMON_OPTS) $(CHPL_NQUEENS_LIBPATH) $< -o $@
# PFSP
pfsp_chpl.out: pfsp_chpl.chpl
$(CHPL_COMPILER) $(CHPL_COMMON_OPTS) $(CHPL_PFSP_LIBPATH) $< -o $@
pfsp_gpu_chpl.out: pfsp_gpu_chpl.chpl
$(CHPL_COMPILER) $(CHPL_COMMON_OPTS) $(CHPL_PFSP_LIBPATH) $< -o $@
pfsp_multigpu_chpl.out: pfsp_multigpu_chpl.chpl
$(CHPL_COMPILER) $(CHPL_COMMON_OPTS) $(CHPL_PFSP_LIBPATH) $< -o $@
pfsp_dist_multigpu_chpl.out: pfsp_dist_multigpu_chpl.chpl
$(CHPL_COMPILER) $(CHPL_COMMON_OPTS) $(CHPL_PFSP_LIBPATH) $< -o $@
# Utilities
.PHONY: clean
clean:
rm -f $(CHPL_NQUEENS_EXECUTABLES) $(CHPL_PFSP_EXECUTABLES) *_real