-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
46 lines (36 loc) · 1.17 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
EXECUTABLE=ezfdtd
SRC = ezfdtd.c domain.c ade.c step.c excitation.c probes.c dft.c pml.c cpml.c classical.c tools.c mem.c h5io.c mur.c
HEADERS = $(SRC:.c=.h)
OBJECTS = $(SRC:.c=.o)
OBJECTS_EXE = $(SRC:.c=.wo)
CC_EXE=/usr/MinGW-w64/bin/x86_64-w64-mingw32-gcc -I/usr/MinGW-w64/include -L/usr/MinGW-w64/lib
CFLAGS=-march=core-avx-i -pipe -O2
CFLAGS_EXE=-O2
all: cscope options $(EXECUTABLE)
LIBMATH=/usr/MinGW-w64/mingw/lib/libm.a
cscope:
@echo update cscope cache
@cscope -Rbq
options:
@echo fdtd_2d build options:
@echo "CC = $(CC)"
@echo "CFLAGS = ${CFLAGS}"
@echo "CFLAGS_EXE = ${CFLAGS_EXE}"
@echo "LDFLAGS = ${LDFLAGS}"
@echo "CC_EXE = $(CC_EXE)"
%.o: %.c %.h
@echo $(CC) $<
$(CC) -Wall -c -D ADD_COLOR ${CFLAGS} $<
%.wo: %.c %.h
@echo $(CC_EXE) -Wall -c $<
$(CC_EXE) -Wall -c ${CFLAGS_EXE} $< -o $@
$(EXECUTABLE): $(OBJECTS)
@echo CC -o $@
@$(CC) -Wall -o $@ $(OBJECTS) -lhdf5 -lm
@cp -vf ezfdtd ../fdtdio/ezfdtd
exe: $(OBJECTS_EXE)
@echo CC_EXE -o $@
@$(CC_EXE) -Wall -o $(EXECUTABLE).exe $(OBJECTS_EXE) $(LIBMATH) -lhdf5 -lz
clean:
@rm -f $(OBJECTS) $(OBJECTS_EXE) $(EXECUTABLE) $(EXECUTABLE).exe cscope*
.PHONY: all options clean