-
Notifications
You must be signed in to change notification settings - Fork 2
/
Makefile.rules
80 lines (52 loc) · 1.5 KB
/
Makefile.rules
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
## Include dependencies rules, working only on linux
ifeq ($(Go4_Makefile_Rules),)
Go4_Makefile_Rules = included
## one can exclude dependency generation, calling "make nodepend=1"
## it is only work when build go4 package, not with examples
ifndef GO4PACKAGE
GO4WITHOUTDEPEND=
endif
ifndef GO4WITHOUTDEPEND
ifdef LIBDEPENDENC
ifeq ($(findstring $(MAKECMDGOALS), examples $(FASTRULES)),)
$(LIBDEPENDENC) : $(GO4SYS)/build/dummy.d
-include $(LIBDEPENDENC)
endif
endif
ifdef EXAMPDEPENDENCS
ifeq ($(findstring $(MAKECMDGOALS), libs gui $(FASTRULES)),)
$(EXAMPDEPENDENCS) : $(GO4SYS)/build/dummy.d
-include $(EXAMPDEPENDENCS)
endif
endif
endif
ifeq ($(DOOPTIMIZATION), false)
OPTFLAGS = $(DEBUGMODE)
else
OPTFLAGS = $(OPTIMIZEMODE)
endif
#define targets, which may be not defines in user makefile
libs::
## Extensions rules
.SUFFIXES: .$(SrcSuf) .$(DepSuf) .$(HedSuf)
%.$(ObjSuf): %.$(SrcSuf)
$(CXX) -c $< $(OPTFLAGS) $(CXXFLAGS) -o $@
%.$(ObjSuf): %.$(CSuf)
$(CC) -c $< $(OPTFLAGS) $(CFLAGS) -o $@
%.$(DepSuf): %.$(SrcSuf)
@echo "Generate dependency $@ ... "
@$(MakeDepend) $@ "$(CXXFLAGS)" $*.$(SrcSuf) > $@
%.$(DepSuf): %.$(CSuf)
@echo "Generate dependency $@ ... "
@$(MakeDepend) $@ "$(CFLAGS)" $*.$(CSuf) > $@
ifdef GO4_QT
ifndef GO4PACKAGE
#dependency and Qt staff generation works only on linux
%.$(ObjSuf): %.cpp
$(CXX) -c $< $(OPTFLAGS) $(CXXFLAGS) $(QTCXXFLAGS) -o $@
%.d: %.cpp
@echo "Generate dependency $@ ... "
@$(MakeDepend) $@ "$(CXXFLAGS) $(QTCXXFLAGS)" $*.cpp > $@
endif
endif
endif