forked from Hirlam/Monitor
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmakeexe.mk
41 lines (28 loc) · 916 Bytes
/
makeexe.mk
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
.SUFFIXES: .F .F90 .f90 .c
TOROOT=..
include $(ROOTDIR)/config/config.$(ARCH)
VPATH=.:$(TOROOT)/../prg
MAIN := $(addsuffix .o, $(basename $(notdir $(MAKECMDGOALS))))
DEPLIBS := $(patsubst %,$(ROOTDIR)/$(ARCH)/lib/%.a,$(filter-out %prg,$(DEPS)))
TARGET := $(ROOTDIR)/$(ARCH)/bin/$(MAKECMDGOALS)
$(MAKECMDGOALS): $(TARGET)
$(TARGET): $(MAIN) $(DEPLIBS)
$(LD) $+ $(LIBS) -o $@ $(LDFLAGS)
%.o: %.c
$(CC) $(CCFLAGS) -c $<
%.o: %.F90
$(CPP) $(CPPFLAGS) $< $(*F)_pp.f90
$(FC) $(FCFLAGS) $(FLUFLAG) $(FREE) -c $(*F)_pp.f90
$(MV) $(*F)_pp.o $(*F).o
%.o: %.f90
$(CPP) $(CPPFLAGS) $< $(*F)_pp.f90
$(FC) $(FCFLAGS) $(FLUFLAG) $(FREE) -c $(*F)_pp.f90
$(MV) $(*F)_pp.o $(*F).o
%.o: %.F
$(CPP) $(CPPFLAGS) $< $(*F)_pp.f
$(FC) $(FCFLAGS) $(FLUFLAG) $(FIXED) -c $(*F)_pp.f
$(MV) $(*F)_pp.o $(*F).o
%.o: %.f
$(CPP) $(CPPFLAGS) $< $(*F)_pp.f
$(FC) $(FCFLAGS) $(FIXED) -c $(*F)_pp.f
$(MV) $(*F)_pp.o $(*F).o