-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
46 lines (30 loc) · 1.18 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
BIN=build
CC=$(T) cc
EXECS=genInput merge mergeP mergeSort mergeSortPv1_omp mergeSortPv2_omp mergeSortPv0_mpi mergeSortPv1_mpi mergeSortPv2_hyb
MPICC?=mpicc
.PHONY: all
all: ${EXECS}
.PHONY: clean
clean:
rm -f build/*
#### Serial builds
merge: merge.c
cc $(addprefix -D, $(D)) merge.c -o $(BIN)/merge
mergeSort: mergeSort.c
cc $(addprefix -D, $(D)) mergeSort.c -o $(BIN)/mergeSort
#### Parallel builds
mergeP: mergeP.c
$(CC) $(addprefix -D, $(D)) -fopenmp mergeP.c -o $(BIN)/mergeP
mergeSortPv1_omp: mergeSortPv1_omp.c
$(CC) $(addprefix -D, $(D)) -fopenmp mergeSortPv1_omp.c -o $(BIN)/mergeSortPv1_omp
mergeSortPv2_omp: mergeSortPv2_omp.c
$(CC) $(addprefix -D, $(D)) -fopenmp mergeSortPv2_omp.c -o $(BIN)/mergeSortPv2_omp
mergeSortPv0_mpi: mergeSortPv0_mpi.c
${MPICC} $(addprefix -D, $(D)) mergeSortPv0_mpi.c -o $(BIN)/mergeSortPv0_mpi
mergeSortPv1_mpi: mergeSortPv1_mpi.c
${MPICC} $(addprefix -D, $(D)) mergeSortPv1_mpi.c -lm -o $(BIN)/mergeSortPv1_mpi
mergeSortPv2_hyb: mergeSortPv2_hyb.c
${MPICC} $(addprefix -D, $(D)) -fopenmp mergeSortPv2_hyb.c -lm -o $(BIN)/mergeSortPv2_hyb
#### Auxiliary builds
genInput: genInput.c
cc $(addprefix -D, $(D)) genInput.c -o $(BIN)/genInput