-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathcommon.inc
More file actions
109 lines (85 loc) · 3.17 KB
/
common.inc
File metadata and controls
109 lines (85 loc) · 3.17 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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#*******************************************************************************
#
#*******************************************************************************
CCDEFINES += -DGBYTE_ORDER=BYTE_ORDER_LE -DNATIVE_SIZE=NATIVE_SIZE_64_BIT \
-DUNIX
# Change platform according to uname -s
ifeq ($(shell uname -s),Linux)
CCDEFINES += -DPLATFORM=LINUX_GCC
endif
ifeq ($(shell uname -s),Darwin)
CCDEFINES += -DPLATFORM=MACOS_GCC
endif
MAKE_SUBDIRS = + \
@target=`echo $@ | sed s/-subdirs//`; \
list='$(SUBDIRS)'; \
for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
(cd $$subdir && $(MAKE) $$target) || exit 1; \
done;
all: all-subdirs
all-subdirs:
$(MAKE_SUBDIRS)
clean: clean-subdirs
rm -f *.a *.mod *.o *.so lib*.so.* $(OBJECTS) $(BINARIES) $(PRODUCTS) $(EXTRA_CLEANS)
clean-subdirs:
$(MAKE_SUBDIRS)
README: readme_source.txt
fold --spaces --width=80 readme_source.txt > README
sed -i 's/[ \t]*$$//' README
# Requires gcc
depend: depend-subdirs
@files=`find . -maxdepth 1 -name "*.c" | sort`; \
if test $${#files} != 0; then \
if (eval gcc -v 1> /dev/null 2>&1); then \
echo gcc -MM -w ${CCDEFINES} $$files "> depend.inc"; \
gcc -MM -w ${CCDEFINES} $$files > depend.inc; \
else \
echo makedepend -f- -Y -- ${CCDEFINES} -- $$files "> depend.inc"; \
makedepend -f- -Y -- ${CCDEFINES} -- $$files > depend.inc; \
fi \
else \
echo -n '' > depend.inc; \
fi
@files=`find . -maxdepth 1 -name "*.cpp" | sort`; \
if test $${#files} != 0; then \
if (eval gcc -v 1> /dev/null 2>&1); then \
echo gcc -MM -std=c++0x -w ${CCDEFINES} $$files ">> depend.inc"; \
gcc -MM -std=c++0x -w ${CCDEFINES} $$files >> depend.inc; \
else \
echo makedepend -f- -Y -- ${CCDEFINES} -- $$files ">> depend.inc"; \
makedepend -f- -Y -- ${CCDEFINES} -- $$files >> depend.inc; \
fi \
else \
echo -n '' >> depend.inc; \
fi
depend-subdirs:
${MAKE_SUBDIRS}
# Requires cproto
proto_types: proto_types-subdirs
@if [ -e prototypes ]; then \
files='$(OBJECTS)'; \
for object in $$files; do \
source=`echo $$object | sed 's|\.o|\.c|'`; \
if [ -e $$source ]; then \
header=`echo $$object | sed 's|\.o|_p\.h|'`; \
echo "cproto ${CCDEFINES} ${INCDIRS} $$source > prototypes/$$header"; \
cproto ${CCDEFINES} -DCPROTO ${INCDIRS} $$source > prototypes/$$header; \
fi \
done \
fi
proto_types-subdirs:
${MAKE_SUBDIRS}
.SUFFIXES: .c .cpp .f .f90 .o
.c.o:
$(CC) $(CCFLAGS) -c $(CCDEFINES) $(INCDIRS) -o $*.o $<
.cpp.o:
$(CXX) $(CXXFLAGS) -c $(CCDEFINES) $(INCDIRS) -o $*.o $<
.f.o:
$(F77) $(F77FLAGS) -c $(INCDIRS) -o $*.o $<
.f90.o:
$(F90) $(F90FLAGS) -c $(F90DEFINES) $(INCDIRS) -o $*.o $<
%.o : %.mod
clean_doc: clean_doc-subdirs
clean_doc-subdirs:
$(MAKE_SUBDIRS)