1 | include config.jam ; |
---|
2 | |
---|
3 | if ! $(DEFINES) |
---|
4 | { |
---|
5 | Exit "Please run ./configure first." ; |
---|
6 | } |
---|
7 | |
---|
8 | VERSION_MAJOR = 0 ; |
---|
9 | VERSION_MINOR = 5 ; |
---|
10 | VERSION_STRING = $(VERSION_MAJOR).$(VERSION_MINOR) ; |
---|
11 | # VERSION_STRING = 0.6-svn ; |
---|
12 | |
---|
13 | DEFINES += VERSION_MAJOR=$(VERSION_MAJOR) |
---|
14 | VERSION_MINOR=$(VERSION_MINOR) |
---|
15 | VERSION_STRING=\\\"$(VERSION_STRING)\\\" ; |
---|
16 | OPTIM = -O3 ; |
---|
17 | RM = rm -Rf ; |
---|
18 | |
---|
19 | rule SystemLibraries |
---|
20 | { |
---|
21 | LINKLIBS on [ FAppendSuffix $(<) : $(SUFEXE) ] ?= $(LINKLIBS) ; |
---|
22 | LINKLIBS on [ FAppendSuffix $(<) : $(SUFEXE) ] += $(>) ; |
---|
23 | } |
---|
24 | |
---|
25 | if $(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 | |
---|
97 | if $(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 | } |
---|