1 #============================================================================
2 # Rules for C and C++ files
3 #============================================================================
5 # convert autoconf style variablenames to jam style ones
7 C++FLAGS += $(CXXFLAGS) ;
17 if [ IsElem shared : $(2) ]
19 object = [ DoObjectGrist $(<:S=.lo) ] ;
20 CC on $(object) = "$(LIBTOOL) --mode=compile $(CC)" ;
22 object = [ DoObjectGrist $(<:S=.o) ] ;
28 RegisterFileType CcRule : .c ;
29 RegisterHeaderRule HeaderRule : $(HDRPATTERN) : .c ;
38 $(CC) -c -o $(<) $(CPPFLAGS) $(CFLAGS) $(>)
49 if [ IsElem shared : $(2) ] {
50 object = [ DoObjectGrist $(<:S=.lo) ] ;
51 CXX on $(object) = "$(LIBTOOL) --mode=compile $(CXX)" ;
53 object = [ DoObjectGrist $(<:S=.o) ] ;
55 C++ $(object) : $(<) ;
58 RegisterFileType C++Rule : .cpp .cc .c++ ; # we can't register .C here because
59 # of windows being case-insensitive.
60 RegisterHeaderRule HeaderRule : $(HDRPATTERN) : .cpp .cc .c++ ;
69 $(CXX) -c -o $(<) $(CPPFLAGS) $(C++FLAGS) $(>)
73 rule CreateIncludeFlags
78 rule CreateDefineFlags