-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
59 lines (41 loc) · 1 KB
/
Copy pathMakefile
File metadata and controls
59 lines (41 loc) · 1 KB
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
# compiler and flags
FC = gfortran
FFLAGS = -std=f2023 -pedantic
FFLAGS += -Wall -Wextra -fPIC -fmax-errors=3 -fbacktrace
# for debugging
#FFLAGS += -fimplicit-none -fcheck=all -g
#FFLAGS += -Og
# production code
#FFLAGS += -Ofast
FFLAGS += -Ofast
# additional include directory
#EXTDIR = ext
#FFLAGS += -I $(EXTDIR)
# sources
#DIR = src
DIR = .
vpath %.f90 $(DIR)
#vpath %.f90 heapsort
SRCS = quicksort mergesort radixsort
SRCS += driver_sort
#SRCS += driver_hsort
OBJS = $(SRCS:=.o)
MAIN = sort
LDIR = ./
#LIBS = $(EXTDIR)/pchip_module.o -lnlopt -lm
all : $(MAIN)
@echo 'Target $(MAIN) compiled.'
$(MAIN) : $(OBJS)
$(FC) $(FFLAGS) -L$(LDIR) -o $(MAIN) $(OBJS) $(LIBS)
.SUFFIXES:
#%.o %.mod %.smod : %.f90
# $(FC) $(FFLAGS) -c $<
# @touch $@
%.o %_module.mod : %.f90
$(FC) $(FFLAGS) -c $<
@touch $@
clean:
-rm -f *.o *.mod
$(OBJS) : Makefile
driver_sort.o : mergesort_module.mod quicksort_module.mod radixsort_module.mod
#driver_hsort.o : mergesort_module.mod quicksort_module.mod heapsort_module.mod