root/branches/uploadr/3.2/MacUploadr.app/Contents/Resources/components/Makefile

Revision 641, 4.8 kB (checked in by jdecq, 5 months ago)

new temporary build, additional command line handler modification to retrieve frob, GM version matching site...

Line 
1 #
2 # Flickr Uploadr
3 #
4 # Copyright (c) 2007-2008 Yahoo! Inc.  All rights reserved.  This library is
5 # free software; you can redistribute it and/or modify it under the terms of
6 # the GNU General Public License (GPL), version 2 only.  This library is
7 # distributed WITHOUT ANY WARRANTY, whether express or implied. See the GNU
8 # GPL for more details (http://www.gnu.org/licenses/gpl.html)
9 #
10
11 PLATFORM := $(filter mac ppc linux universal, $(MAKECMDGOALS))
12 COMPONENT := $(filter gm key clh, $(MAKECMDGOALS))
13
14 GECKO_SDK := ../gecko-sdk.$(PLATFORM)/sdk
15 GM_INCLUDE := -I/usr/local/include/GraphicsMagick
16 GM_LIB := -L/usr/local/lib
17 EXIV_INCLUDE := -I/opt/local/include/exiv2
18 EXIV_LIB := -L/usr/local/lib -L/usr/lib
19 FF_INCLUDE := -I/usr/local/include
20 FF_LIB := -L/usr/local/lib
21 X11_LIB := -L/usr/X11R6/lib
22 PORTS_LIB := -L/opt/local/lib
23 XULRUNNER := ../../Frameworks/XUL.framework
24
25 ifeq (mac, $(PLATFORM))
26 DEFINE := -DXP_UNIX -DXP_MACOSX
27 endif
28 ifeq (ppc, $(PLATFORM))
29 DEFINE := -DXP_UNIX -DXP_MACOSX
30 endif
31 ifeq (linux, $(PLATFORM))
32 DEFINE := -DXP_UNIX
33 endif
34
35 all:
36         @echo "Platform targets:"
37         @echo "  mac (Intel)"
38         @echo "  ppc"
39         @echo "  linux - not implemented"
40         @echo "  universal (combines mac and ppc dylibs using lipo)"
41         @echo "Components:"
42         @echo "  gm"
43         @echo "  key"
44         @echo "  clh"
45         @echo "Mix & match from the above lists to build components for platforms"
46         @echo ""
47         @echo "Usage: make <platform> <component>"
48
49
50
51 mac:
52         @echo "Building for Intel Macs..."
53
54 ppc:
55         @echo "Building for PowerPC Macs..."
56
57 linux:
58         @echo "Building for x86 Linux..."
59
60 universal:
61         @echo "Building Universal Binary for Macs..."
62         lipo -create \
63                 -arch ppc $(COMPONENT).dylib.ppc \
64                 -arch i386 $(COMPONENT).dylib.mac \
65                 -output $(COMPONENT).dylib
66
67
68
69 gm:
70 ifneq (universal, $(PLATFORM))
71         @echo "Building the GraphicsMagick/FFmpeg XPCOM component..."
72 ifeq (mac, $(PLATFORM))
73         @echo "Building the GraphicsMagick/FFmpeg XPT file..."
74         $(GECKO_SDK)/bin/xpidl \
75                 -m header \
76                 -I$(GECKO_SDK)/idl \
77                 flIGM.idl
78         $(GECKO_SDK)/bin/xpidl \
79                 -m typelib \
80                 -I$(GECKO_SDK)/idl \
81                 flIGM.idl
82 endif
83         g++ -w -c -O2 -fshort-wchar \
84                 -o flGM.o \
85                 -I$(GECKO_SDK)/include \
86                 $(GM_INCLUDE) \
87                 $(EXIV_INCLUDE) \
88                 $(FF_INCLUDE) \
89                 $(DEFINE) \
90                 flGM.cpp
91         g++ -w -c -O2 -fshort-wchar \
92                 -o flGMModule.o \
93                 -I$(GECKO_SDK)/include \
94                 $(DEFINE) \
95                 flGMModule.cpp
96         g++ -v -dynamiclib -O2 \
97                 -o gm.dylib.$(PLATFORM) \
98                 flGM.o flGMModule.o \
99                 -L$(GECKO_SDK)/lib \
100                 -L/usr/lib \
101                 $(GM_LIB) \
102                 $(PORTS_LIB) \
103                 -L$(XULRUNNER) -Wl,-executable_path,$(XULRUNNER) \
104                 -lxpcomglue_s -lxpcom -lnspr4 \
105                 -lGraphicsMagick -lGraphicsMagick++ \
106                 -lexiv2 -liconv -lexpat \
107                 -lz -lbz2 \
108                 -lxml2 \
109                 -ljpeg -lpng -ltiff \
110                 -lavformat -lavcodec -lavutil -lswscale \
111                 -Wl,-read_only_relocs,suppress
112 else
113         @echo "Not building the GraphicsMagick/FFmpeg XPCOM component"
114 endif
115
116
117
118 key:
119 ifneq (universal, $(PLATFORM))
120         @echo "Building the API key XPCOM component..."
121 ifeq (mac, $(PLATFORM))
122         @echo "Building the API key XPT file..."
123         $(GECKO_SDK)/bin/xpidl \
124                 -m header \
125                 -I$(GECKO_SDK)/idl \
126                 flIKey.idl
127         $(GECKO_SDK)/bin/xpidl \
128                 -m typelib \
129                 -I$(GECKO_SDK)/idl \
130                 flIKey.idl
131 endif
132         g++ -w -c -O2 -fshort-wchar\
133                 -o flKey.o \
134                 -I$(GECKO_SDK)/include \
135                 $(DEFINE) \
136                 flKey.cpp
137         g++ -w -c -O2 -fshort-wchar\
138                 -o flKeyModule.o \
139                 -I$(GECKO_SDK)/include \
140                 $(DEFINE) \
141                 flKeyModule.cpp
142         g++ -dynamiclib -O2 \
143                 -o key.dylib.$(PLATFORM) \
144                 flKey.o flKeyModule.o \
145                 -L$(GECKO_SDK)/lib \
146                 -L$(XULRUNNER) -Wl,-executable_path,$(XULRUNNER) \
147                 -lxpcomglue_s -lxpcom -lnspr4
148 else
149         @echo "Not building the API key XPCOM component"
150 endif
151
152
153
154 clh:
155         @echo "Building the CLH XPT file..."
156         $(GECKO_SDK)/bin/xpidl \
157                 -m typelib \
158                 -I$(GECKO_SDK)/idl \
159                 flICLH.idl
160
161
162
163 gm_test:
164         g++ -w -c -O2 -o gm_test.o $(GM_INCLUDE) $(EXIV_INCLUDE) gm_test.cpp
165         g++ -O2 -o gm_test gm_test.o \
166                 $(GM_LIB) \
167                 $(PORTS_LIB) \
168                 -lGraphicsMagick++ -lGraphicsMagick \
169                 -lexiv2 -liconv -lexpat \
170                 -lz -lbz2 \
171                 -lxml2 \
172                 -ljpeg -lpng -ltiff
173
174 gm_clean:
175         rm -f gm_test gm_test.o
176
177
178
179 ff_test:
180         g++ -w -c -O2 -o ff_test.o \
181                 $(GM_INCLUDE) $(EXIV_INCLUDE) $(FF_INCLUDE) \
182                 ff_test.cpp
183         g++ -O2 -o ff_test ff_test.o \
184                 $(GM_LIB) \
185                 $(PORTS_LIB) \
186                 -lavformat -lavcodec -lavutil \
187                 -lGraphicsMagick++ -lGraphicsMagick \
188                 -lexiv2 -liconv -lexpat \
189                 -lz -lbz2 \
190                 -lxml2 \
191                 -ljpeg -lpng -ltiff
192
193 ff_clean:
194         rm -f ff_test ff_test.o
195
196
197
198 rotate:
199         g++ -w -c -O2 -o rotate.o $(GM_INCLUDE) $(EXIV_INCLUDE) rotate.cpp
200         g++ -O2 -o rotate rotate.o \
201                 $(GM_LIB) \
202                 $(PORTS_LIB) \
203                 -lGraphicsMagick++ -lGraphicsMagick \
204                 -lexiv2 -liconv -lexpat \
205                 -lz -lbz2 \
206                 -lxml2 \
207                 -ljpeg -lpng -ltiff
208
209 rotate_clean:
210         rm -f rotate rotate.o
Note: See TracBrowser for help on using the browser.