new build system (taken from Trigger Rally -- tnx, boys!)
[syren.git] / mk / jam / macosx.jam
blob21c433d11b3dd619bead7cde0bb3d6f497d99098
1 #============================================================================
2 # Jam configuration and actions for MacOS/X
3 # Copyright (C) 2003 by Eric Sunshine <sunshine@sunshineco.com>
4 #============================================================================
5 SHELL ?= "/bin/sh" ;
6 DEEPCOPY ?= "cp -R" ;
8 # Experience seems to indicate that library scanning misbehaves on MacOS/X with
9 # Jam 2.4, consequently we disable it.
10 AR = "ar ru" ;
11 NOARUPDATE = true ;
12 NOARSCAN = true ;
13 actions Archive
15   $(AR) $(<) $(>)
18 #------------------------------------------------------------------------------
19 # Public rules.
20 #------------------------------------------------------------------------------
22 # ConstructApplicationTarget target : options
23 #    Constructs the application target name (ie. foo.app for foo)
24 rule ConstructApplicationTarget
26   return $(<) ;
29 # ConstructLibraryTarget target : options
30 rule ConstructLibraryTarget
32   return lib$(<).a ;
35 # SystemLinkApplication target : objects : options
36 rule SystemLinkApplication
38   local target = $($(<)_TARGET) ;
39   Depends $(target) : $(>) ;
40     
41   LinkApplication $(target) : $(>) ;
42   Clean clean : $(target) ;
43   Clean $(<)clean : $(target) ;
46 # LinkApplicationConsole exe : objects
47 #    Link a console (non-GUI) appliation from a set of object files.
48 actions LinkApplication bind NEEDLIBS bind EXTRAOBJECTS
50   $(MACOSX.ENVIRON)
51   $(LINK) -o $(<) $(>) $(EXTRAOBJECTS) $(NEEDLIBS) $(LFLAGS)