-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakeF90file
More file actions
37 lines (31 loc) · 963 Bytes
/
MakeF90file
File metadata and controls
37 lines (31 loc) · 963 Bytes
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
CC= gfortran
CFLAGS= -c
# CFLAGS= -c -O0 -g # for debug
LDFLAGS=
SOURCE=*.f90
OBJECTS= $(SOURCE:.f90=.o)
EXECUTABLE=BOOM
TMPFILES= *~ a.out *.o
# output color:
#COLOR="\033["
WHITE="\033[38;1m"
GREEN="\033[32;1m"
CLOSE="\033[0m"
# prefixes:
WORK=$(GREEN)"::"$(CLOSE)
INFO=$(GREEN)" >"$(CLOSE)
all: $(EXECUTABLE)
@echo -e $(INFO)$(CLOSE) $(WHITE)"Compiled"$(CLOSE)
# @echo -e $(GREEN)[$(CLOSE)$(WHITE)"Done"$(CLOSE)$(GREEN)]$(CLOSE)
$(EXECUTABLE): $(OBJECTS)
@echo -en $(WORK) $(WHITE)"Linking..."$(CLOSE)"\t"; $(CC) $(LDFLAGS) $(OBJECTS) -o $@
@echo -en "\t"$(GREEN)[$(CLOSE)$(WHITE)"Done"$(CLOSE)$(GREEN)]$(CLOSE)
%.o: %.f90
@echo -en $(WORK) $(WHITE)"Compiling" $@ $(CLOSE); $(CC) $(CFLAGS) $< -o $@
@echo -e "\t"$(GREEN)[$(CLOSE)$(WHITE)"Done"$(CLOSE)$(GREEN)]$(CLOSE)
clean:
@echo -e $(WORK) $(WHITE)"Clean useless files"$(CLOSE)
@rm -f $(TMPFILES) $(OBJECTS) $(EXECUTABLE)
run: $(EXECUTABLE)
@echo -e $(WORK) $(WHITE)"Run" $< $(CLOSE)
@./$<