forked from nordic-institute/X-Road
/
Makefile.common
106 lines (83 loc) · 2.3 KB
/
Makefile.common
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
ifndef COMMON_CFLAGS
COMMON_CFLAGS += -W -Wall -Wundef -Wcast-align -fno-strict-aliasing
ifndef MAKEFILE_COMMON_NO_OPT
COMMON_CFLAGS += -O
endif
ifndef MAKEFILE_COMMON_NO_DEBUG
COMMON_CFLAGS += -g
endif
COMMON_CFLAGS += -Werror
endif
# Position Independent Code - kõik kood, mida kuhugi
# dünaamiliselt lingitakse.
ifdef USE_PIC
COMMON_CFLAGS += -fPIC -DPIC
endif
CFLAGS += $(COMMON_CFLAGS)
CXXFLAGS += $(COMMON_CFLAGS)
ifndef CC
CC = gcc
endif
ifndef CXX
CXX = g++
endif
AR = ar
RANLIB = ranlib
tests: $(TEST_PROGRAMS)
check: tests
@for i in $(AUTOMATIC_TESTS); \
do \
echo "Running $$i"; \
if LD_LIBRARY_PATH=$(XROADTOP)/lib "./$$i"; \
then \
echo; echo; echo "Test was OK"; echo; \
else \
echo; echo; echo "TEST $$i FAILED!!!!!"; echo;\
exit 1; \
fi; \
done
install: all $(INSTALL_EXTRA)
(mkdir -p $(XROADTOP)/lib && \
install -m 644 $(LIBRARY) $(XROADTOP)/lib) || exit 1
# Eriti automaatsed sõltuvused, mis tekivad vastavalt võimalusele:
MAKEFILE_COMMON_DEP_SOURCES = $(wildcard *.c *.cc *.cpp)
.deps/%.c.dep: %.c
@test -d .deps || mkdir .deps ; \
if $(CC) $(CPPFLAGS) $(CFLAGS) -M $< > $@.tmp 2> /dev/null ; then \
sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.tmp > $@ ; \
else \
echo "Cannot create dependency info for $< yet" ; \
fi ; \
$(RM) $@.tmp
.deps/%.cc.dep: %.cc
@test -d .deps || mkdir .deps ; \
if $(CXX) $(CPPFLAGS) $(CXXFLAGS) -M $< > $@.tmp 2> /dev/null ; then \
sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.tmp > $@ ; \
else \
echo "Cannot create dependency info for $< yet" ; \
fi ; \
$(RM) $@.tmp
.deps/%.cpp.dep: %.cpp
@test -d .deps || mkdir .deps ; \
test -d .deps/.ui || mkdir .deps/.ui ; \
test -d .deps/.moc || mkdir .deps/.moc ; \
if $(CXX) $(CPPFLAGS) $(CXXFLAGS) -M $< > $@.tmp 2> /dev/null ; then \
sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.tmp > $@ ; \
else \
echo "Cannot create dependency info for $< yet" ; \
fi ; \
$(RM) $@.tmp
# Väldime sõltuvuste uuendamist make clean korral:
ifneq ($(MAKECMDGOALS), clean)
ifneq ($(strip $(MAKEFILE_COMMON_DEP_SOURCES)),)
-include $(MAKEFILE_COMMON_DEP_SOURCES:%=.deps/%.dep)
endif
endif
clean: clean-deps
clean-deps:
rm -rf .deps
# Kui käesolev Makefile teeb teeki, siis keelame paralleelse makemise, et
# mitu protsessi korraga .a-faili uuendama ei satuks.
ifneq ($(strip $(LIBRARY)),)
.NOTPARALLEL:
endif