added "C++FLAGS.all" (and "OBJCFLAGS.all"); "CFLAGS.all" is still in effect
[k8jam.git] / defaults / build / Jambase.build.objc
blob77f2af0402b39f8b423054cc710ed09e1c1cf4bd
1 # This program is free software: you can redistribute it and/or modify
2 # it under the terms of the GNU General Public License as published by
3 # the Free Software Foundation, version 3 of the License ONLY.
5 # This program is distributed in the hope that it will be useful,
6 # but WITHOUT ANY WARRANTY; without even the implied warranty of
7 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
8 # GNU General Public License for more details.
10 # You should have received a copy of the GNU General Public License
11 # along with this program. If not, see <http://www.gnu.org/licenses/>.
13 # /ObjC object : source ;
15 # Compile the ObjC source file _source_. Similar to @CC, called by @Object
17 # Do not call this rule directly, since _object_ and _source_ may have
18 # have platform-specific file extensions
20 rule ObjC {
21 local ktmp ;
23 Depends $(<) : $(>) ;
25 # Just to clarify here: this sets the per-target OBJCFLAGS to
26 # be the current value of (global) OBJCFLAGS and SUBDIRCCFLAGS.
27 ktmp = $(OBJCFLAGS) ;
28 if ! $(ktmp) { ktmp = $(CCFLAGS) ; }
29 OBJCFLAGS on $(<) += $(ktmp) $(SUBDIROBJCFLAGS) ;
31 ktmp = $(OBJCOPTIM) ;
32 if ! $(ktmp) { ktmp = $(OBJCOPTIM) ; }
33 OBJCOPTIM on $(<) += $(ktmp) ;
35 CCHDRS on $(<) = [ on $(<) FIncludes $(HDRS) ] ;
36 CCDEFS on $(<) = [ on $(<) FDefines $(DEFINES) ] ;
37 CCHDRS on $(<) += [ FIncludes $(SUBDIRHDRS) ] ;
38 CCDEFS on $(<) += [ FDefines $(SUBDIRDEFINES) ] ;
41 actions ObjC {
42 $(OBJCC) -c -o $(<) $(CFLAGS.all) $(OBJCFLAGS.all) $(OBJCFLAGS) $(OPTIM.all) $(OBJCOPTIM) $(CCDEFS) $(CCHDRS) $(>)