1 #============================================================================
2 # Rules for C and C++ files
3 #============================================================================
12 if [ IsElem shared : $(2) ]
14 object = [ LocateTarget $(<:S=.lo) ] ;
15 CC on $(object) = "$(LIBTOOL) --mode=compile $(CC)" ;
17 object = [ LocateTarget $(<:S=.o) ] ;
20 CFLAGS on $(object) = $(CFLAGS) ;
21 CPPFLAGS on $(object) = $(CPPFLAGS) ;
23 Depends $(object) : $(<) ;
26 RegisterFileType CcRule : .c ;
27 RegisterHeaderRule HeaderRule : $(HDRPATTERN) : .c ;
31 $(CC) -c -o $(<) $(CPPFLAGS) $(CFLAGS) $(>)
42 if [ IsElem shared : $(2) ] {
43 object = [ LocateTarget $(<:S=.lo) ] ;
44 CXX on $(object) = "$(LIBTOOL) --mode=compile $(CXX)" ;
46 object = [ LocateTarget $(<:S=.o) ] ;
48 CXXFLAGS on $(object) = $(CXXFLAGS) ;
49 CPPFLAGS on $(object) = $(CPPFLAGS) ;
50 C++ $(object) : $(<) ;
51 Depends $(object) : $(<) ;
54 RegisterFileType C++Rule : .cpp .cc .c++ ; # we can't register .C here because
55 # of windows being case-insensitive.
56 RegisterHeaderRule HeaderRule : $(HDRPATTERN) : .cpp .cc .c++ ;
60 $(CXX) -c -o $(<) $(CPPFLAGS) $(CXXFLAGS) $(>)
64 rule CreateIncludeFlags
69 rule CreateDefineFlags