source: trunk/Jamrules @ 19

Last change on this file since 19 was 19, checked in by root, 16 years ago

Update 2005-12-21

File size: 2.9 KB
Line 
1include config.jam ;
2
3if ! $(DEFINES)
4{
5    Exit "Please run ./configure first." ;
6}
7
8VERSION_MAJOR  = 0 ;
9VERSION_MINOR  = 4 ;
10# VERSION_STRING = $(VERSION_MAJOR).$(VERSION_MINOR) ;
11VERSION_STRING = CVS-20051221 ;
12
13DEFINES += VERSION_MAJOR=$(VERSION_MAJOR)
14           VERSION_MINOR=$(VERSION_MINOR)
15           VERSION_STRING=\\\"$(VERSION_STRING)\\\" ;
16OPTIM    = -O0 ;
17RM       = rm -Rf ;
18
19rule SystemLibraries
20{
21    LINKLIBS on [ FAppendSuffix $(<) : $(SUFEXE) ] ?= $(LINKLIBS) ;
22    LINKLIBS on [ FAppendSuffix $(<) : $(SUFEXE) ] +=  $(>) ;
23}
24
25if $(OS) = MACOSX
26{
27    # Build universal binaries
28    CCFLAGS   += -isysroot /Developer/SDKs/MacOSX10.4u.sdk
29                 -arch ppc -arch i386 ;
30    LINKFLAGS += -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk
31                 -arch ppc -arch i386 ;
32
33    # Use libtool to build static libraries (ar does not handle
34    # universal binaries)
35    RANLIB     =   ;
36    NOARSCAN   = 1 ;
37    NOARUPDATE = 1 ;
38    actions Archive
39    {
40        libtool -static $(>) -o $(<) ;
41    }
42
43    rule OSXInfoPlist
44    {
45        Depends        $(1)  : $(2) ;
46        Depends        $(1)  : Jamrules ;
47        Clean          clean : $(1) ;
48    }
49    actions OSXInfoPlist
50    {
51        $(RM) $(1)
52        sed "s/%%VERSION%%/$(VERSION_STRING)/g" < $(2) > $(1)
53    }
54
55    rule OSXBundle
56    {   
57        Depends     exe   : $(1) ;
58        Depends     $(1)  : $(2) ;
59        Clean       clean : $(1) macosx/build ;
60    }
61    actions OSXBundle
62    {   
63        $(RM) $(1) && ( cd macosx && xcodebuild ) && \
64          mv macosx/build/Debug/Transmission.app $(1)
65    }
66
67    rule OSXPackage
68    {
69        Depends      $(1)  : $(2) ;
70        Clean        clean : $(1) ;
71        DoOSXPackage $(1) ;
72    }
73    actions DoOSXPackage
74    {
75        TMP="Transmission $(VERSION_STRING)"
76        rm -f $(1) "$TMP" && mkdir "$TMP" &&
77        mkdir "$TMP/Transmission.app" &&
78        ditto Transmission.app "$TMP/Transmission.app" &&
79        ditto AUTHORS "$TMP/AUTHORS.txt" &&
80        ditto LICENSE "$TMP/LICENSE.txt" &&
81        ditto NEWS "$TMP/NEWS.txt" &&
82        strip -S "$TMP/Transmission.app/Contents/MacOS/Transmission" &&
83        ( echo "[InternetShortcut]"; \
84          echo "URL=http://transmission.m0k.org/" ) > \
85          "$TMP/Homepage.url" &&
86        ( echo "[InternetShortcut]"; \
87          echo "URL=http://transmission.m0k.org/forum/" ) > \
88          "$TMP/Forums.url" &&
89        ( echo "[InternetShortcut]"; \
90          echo "URL=http://transmission.m0k.org/contribute.php" ) > \
91          "$TMP/Contribute.url" &&
92        hdiutil create -format UDZO -srcfolder "$TMP" $(1) &&
93        rm -rf "$TMP"
94    }
95}
96
97if $(OS) = BEOS
98{
99    rule BeOSBuild
100    {
101        Depends     exe   : $(1) ;
102        Depends     $(1)  : $(2) ;
103        Clean     clean : $(1) beos/obj.$(CPU) ;
104    }
105    actions BeOSBuild
106    {
107        $(RM) $(1) && ( cd beos && make ) && \
108          mv beos/obj.$(CPU)/Transmission $(1)
109    }
110}
Note: See TracBrowser for help on using the repository browser.