blob: 03deb404c8957c4e14d5b04a7d6ffd75607faa1b [file] [log] [blame]
jat@google.com134be542009-08-03 15:30:11 +00001# Copyright 2009 Google Inc.
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4# use this file except in compliance with the License. You may obtain a copy of
5# the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations under
13# the License.
14
15include ../config.mk
16
jat@google.com23181962009-09-03 22:22:56 +000017# Make variables intended to be settable from the command line:
jat@google.comfbef83e2009-08-06 06:05:01 +000018# DEFAULT_FIREFOX_LIBS points to /usr/lib/firefox or equivalent
jat@google.com134be542009-08-03 15:30:11 +000019# PLUGIN_SDKS points to GWT /plugin-sdks directory
20# GECKO_PLATFORM XPCOM ABI (ie, Linux_x86_64-gcc3)
21#
22
23ifeq ($(OS),mac)
jat@google.comfbef83e2009-08-06 06:05:01 +000024DEFAULT_FIREFOX_LIBS ?= /Applications/Firefox.app/Contents/MacOS
jat@google.com134be542009-08-03 15:30:11 +000025RUN_PATH_FLAG = -executable_path
26DLL_SUFFIX = .dylib
conroy@google.com7c8d59f2011-01-27 17:50:46 +000027DLLFLAGS += -bundle $(ALLARCHCFLAGS) -mmacosx-version-min=10.5
jat@google.com268f9982009-11-06 21:34:25 +000028CFLAGS += $(ALLARCHCFLAGS)
29CXXFLAGS += $(ALLARCHCFLAGS)
30TARGET_PLATFORM = Darwin-gcc3
jat@google.com134be542009-08-03 15:30:11 +000031# Mac puts multiple architectures into the same files
jat@google.comfbef83e2009-08-06 06:05:01 +000032GECKO_PLATFORM = Darwin-gcc3
jat@google.coma0d0bed2009-08-18 22:58:15 +000033else
34ifeq ($(OS),linux)
jat@google.comfbef83e2009-08-06 06:05:01 +000035DEFAULT_FIREFOX_LIBS ?= /usr/lib/firefox
jat@google.com134be542009-08-03 15:30:11 +000036RUN_PATH_FLAG = -rpath-link
37DLL_SUFFIX = .so
conroy@google.comb1095762010-10-22 11:28:03 +000038DLLFLAGS += -shared -m$(FLAG32BIT)
jat@google.com134be542009-08-03 15:30:11 +000039TARGET_PLATFORM = Linux_$(ARCH)-gcc3
jat@google.coma0d0bed2009-08-18 22:58:15 +000040else
41ifeq ($(OS),sun)
jat@google.com134be542009-08-03 15:30:11 +000042TARGET_PLATFORM = SunOS_$(ARCH)-sunc
43RUN_PATH_FLAG = -rpath-link
conroy@google.comb1095762010-10-22 11:28:03 +000044DLLFLAGS ?= ""
jat@google.com134be542009-08-03 15:30:11 +000045endif
jat@google.coma0d0bed2009-08-18 22:58:15 +000046endif
47endif
jat@google.com134be542009-08-03 15:30:11 +000048
49export FLAG32BIT
50
51ifeq ($(BROWSER),)
acleung@google.com55318842012-02-06 16:46:53 +000052$(warning Defaulting to FF3 build [set with BROWSER=ff3, ff3+, ff35, ff36, ff40, ff50, ff60, ff70, ff80, ff90, ff100])
jat@google.com134be542009-08-03 15:30:11 +000053BROWSER=ff3
54endif
55
conroy@google.comb1095762010-10-22 11:28:03 +000056# Gold doesn't play nice with xpcom libs
57LINKER=$(shell ld -v | awk '{print $$2}')
58ifeq ($(LINKER), gold)
59ifeq ($(wildcard /usr/lib/compat-ld),)
60$(error cannot link with gold, use the BFD ld instead)
61else
62CFLAGS += -B/usr/lib/compat-ld/
63CXXFLAGS += -B/usr/lib/compat-ld/
64DLLFLAGS += -B/usr/lib/compat-ld/
65endif
66endif
67
jat@google.com268f9982009-11-06 21:34:25 +000068CFLAGS += -DBROWSER=$(BROWSER)
jat@google.com134be542009-08-03 15:30:11 +000069GECKO_MINOR_VERSION=
conroy@google.com36cf7482011-01-12 19:43:57 +000070GECKO_DLLFLAGS = -lxpcomglue_s -lxpcom
71NSPR_DLLFLAGS = -lnspr4
acleung@google.com82a20e72011-12-09 18:02:24 +000072MOZJS_DLLFLAGS = -lxul
conroy@google.com36cf7482011-01-12 19:43:57 +000073
acleung@google.com82a20e72011-12-09 18:02:24 +000074#defaults to post-FF4
75MOZALLOC_DLLFLAGS = -lmozalloc
76
77#default ALLARCHFLAGS for post-FF4
78ALLARCHCFLAGS = -arch i386 -arch x86_64 -Xarch_i386 -DFLAG32BIT=32 -Xarch_x86_64 -DFLAG32BIT=64
conroy@google.come3153e52011-01-24 12:30:43 +000079
acleung@google.comcd201b72012-01-24 16:23:41 +000080# Python xpidl tool is the new hotness post-FF9
81XPIDL_TOOL = python
82
jat@google.coma0d0bed2009-08-18 22:58:15 +000083ifeq ($(BROWSER),ff3)
acleung@google.comcd201b72012-01-24 16:23:41 +000084XPIDL_TOOL = binary
acleung@google.com82a20e72011-12-09 18:02:24 +000085MOZALLOC_DLLFLAGS =
jat@google.comd9f13ab2010-06-17 18:57:35 +000086GECKO_VERSION = 1.9.0
conroy@google.com36cf7482011-01-12 19:43:57 +000087CFLAGS += -DGECKO_VERSION=1900
acleung@google.com82a20e72011-12-09 18:02:24 +000088MOZJS_DLLFLAGS = -lmozjs
89ifeq ($(OS),mac)
90ALLARCHCFLAGS = -arch i386 -arch ppc
91endif
jat@google.coma0d0bed2009-08-18 22:58:15 +000092else
93ifeq ($(BROWSER),ff3+)
acleung@google.comcd201b72012-01-24 16:23:41 +000094XPIDL_TOOL = binary
acleung@google.com82a20e72011-12-09 18:02:24 +000095MOZALLOC_DLLFLAGS =
jat@google.comd9f13ab2010-06-17 18:57:35 +000096GECKO_VERSION = 1.9.0
conroy@google.com36cf7482011-01-12 19:43:57 +000097CFLAGS += -DGECKO_VERSION=1901
jat@google.com134be542009-08-03 15:30:11 +000098GECKO_MINOR_VERSION=.10
acleung@google.com82a20e72011-12-09 18:02:24 +000099MOZJS_DLLFLAGS = -lmozjs
100ifeq ($(OS),mac)
101ALLARCHCFLAGS = -arch i386 -arch ppc
102endif
jat@google.coma0d0bed2009-08-18 22:58:15 +0000103else
104ifeq ($(BROWSER),ff35)
acleung@google.comcd201b72012-01-24 16:23:41 +0000105XPIDL_TOOL = binary
acleung@google.com82a20e72011-12-09 18:02:24 +0000106MOZALLOC_DLLFLAGS =
jat@google.comd9f13ab2010-06-17 18:57:35 +0000107GECKO_VERSION = 1.9.1
conroy@google.com36cf7482011-01-12 19:43:57 +0000108CFLAGS += -DGECKO_VERSION=1910
acleung@google.com82a20e72011-12-09 18:02:24 +0000109MOZJS_DLLFLAGS = -lmozjs
110ifeq ($(OS),mac)
111ALLARCHCFLAGS = -arch i386 -arch ppc
112endif
jat@google.com134be542009-08-03 15:30:11 +0000113else
jat@google.comeb19eba2010-01-27 15:05:14 +0000114ifeq ($(BROWSER),ff36)
acleung@google.comcd201b72012-01-24 16:23:41 +0000115XPIDL_TOOL = binary
acleung@google.com82a20e72011-12-09 18:02:24 +0000116MOZALLOC_DLLFLAGS =
jat@google.comd9f13ab2010-06-17 18:57:35 +0000117GECKO_VERSION = 1.9.2
conroy@google.com36cf7482011-01-12 19:43:57 +0000118CFLAGS += -DGECKO_VERSION=1920
acleung@google.com82a20e72011-12-09 18:02:24 +0000119MOZJS_DLLFLAGS = -lmozjs
120ifeq ($(OS),mac)
121ALLARCHCFLAGS = -arch i386 -arch ppc
122endif
jat@google.comeb19eba2010-01-27 15:05:14 +0000123else
jat@google.comd9f13ab2010-06-17 18:57:35 +0000124ifeq ($(BROWSER),ff40)
acleung@google.comcd201b72012-01-24 16:23:41 +0000125XPIDL_TOOL = binary
conroy@google.com36cf7482011-01-12 19:43:57 +0000126GECKO_VERSION = 2.0.0
127CFLAGS += -DGECKO_VERSION=2000
jat@google.comd9f13ab2010-06-17 18:57:35 +0000128else
conroy@google.com99115412011-06-23 19:36:33 +0000129ifeq ($(BROWSER),ff50)
acleung@google.comcd201b72012-01-24 16:23:41 +0000130XPIDL_TOOL = binary
conroy@google.com99115412011-06-23 19:36:33 +0000131GECKO_VERSION = 5.0.0
132CFLAGS += -DGECKO_VERSION=5000
conroy@google.com99115412011-06-23 19:36:33 +0000133else
acleung@google.com8346ccf2011-08-30 01:03:44 +0000134ifeq ($(BROWSER),ff60)
acleung@google.comcd201b72012-01-24 16:23:41 +0000135XPIDL_TOOL = binary
acleung@google.com8346ccf2011-08-30 01:03:44 +0000136GECKO_VERSION = 6.0.0
137CFLAGS += -DGECKO_VERSION=6000
acleung@google.com8346ccf2011-08-30 01:03:44 +0000138else
acleung@google.com0d1a4b42011-10-07 05:13:43 +0000139ifeq ($(BROWSER),ff70)
acleung@google.comcd201b72012-01-24 16:23:41 +0000140XPIDL_TOOL = binary
acleung@google.com0d1a4b42011-10-07 05:13:43 +0000141GECKO_VERSION = 7.0.0
142CFLAGS += -DGECKO_VERSION=7000
acleung@google.com0d1a4b42011-10-07 05:13:43 +0000143else
acleung@google.com82a20e72011-12-09 18:02:24 +0000144ifeq ($(BROWSER),ff80)
acleung@google.comcd201b72012-01-24 16:23:41 +0000145XPIDL_TOOL = binary
acleung@google.com82a20e72011-12-09 18:02:24 +0000146GECKO_VERSION = 8.0.0
147CFLAGS += -DGECKO_VERSION=8000
148else
acleung@google.comcd201b72012-01-24 16:23:41 +0000149ifeq ($(BROWSER),ff90)
150GECKO_VERSION = 9.0.0
151CFLAGS += -DGECKO_VERSION=9000
152else
acleung@google.com55318842012-02-06 16:46:53 +0000153ifeq ($(BROWSER),ff100)
154GECKO_VERSION = 10.0.0
155CFLAGS += -DGECKO_VERSION=10000
156else
acleung@google.comcd201b72012-01-24 16:23:41 +0000157$(error Unrecognized BROWSER of $(BROWSER) - options are ff3, ff3+, ff35, ff36, ff40, ff50, ff60, ff70, ff80, ff90)
158endif
acleung@google.com82a20e72011-12-09 18:02:24 +0000159endif
acleung@google.com0d1a4b42011-10-07 05:13:43 +0000160endif
acleung@google.com8346ccf2011-08-30 01:03:44 +0000161endif
conroy@google.com99115412011-06-23 19:36:33 +0000162endif
jat@google.comeb19eba2010-01-27 15:05:14 +0000163endif
jat@google.com134be542009-08-03 15:30:11 +0000164endif
jat@google.coma0d0bed2009-08-18 22:58:15 +0000165endif
166endif
167endif
acleung@google.com55318842012-02-06 16:46:53 +0000168endif
jat@google.com134be542009-08-03 15:30:11 +0000169
170CFLAGS += -fshort-wchar
171CXXFLAGS = $(CXXONLYFLAGS) $(CFLAGS)
172DIR = $(shell pwd)
173
174# Set $PLUGIN_SDKS if it isn't in the default location
175PLUGIN_SDKS ?= ../../../plugin-sdks
176GECKO_PLATFORM ?= $(TARGET_PLATFORM)
177
178COMMON = ../common/libcommon$(FLAG32BIT).a
179
180OBJ_OUTDIR = build/$(TARGET_PLATFORM)-$(BROWSER)
jat@google.com268f9982009-11-06 21:34:25 +0000181EXTENSION_OUTDIR = prebuilt/extension
182FF_PLATFORM_DIR = $(EXTENSION_OUTDIR)/lib/$(TARGET_PLATFORM)/$(BROWSER)
jat@google.com134be542009-08-03 15:30:11 +0000183
jat@google.com268f9982009-11-06 21:34:25 +0000184INSTALLER_XPI = prebuilt/gwt-dev-plugin.xpi
185FF_DLL = $(OBJ_OUTDIR)/libgwt_dev_$(BROWSER)$(DLL_SUFFIX)
jat@google.com134be542009-08-03 15:30:11 +0000186#FF_TYPELIB = build/IOOPHM.xpt
187#FF_HEADER = $(OBJ_OUTDIR)/IOOPHM.h
188FF_TYPELIB = prebuilt/extension/components/IOOPHM.xpt
189FF_HEADER = prebuilt/$(BROWSER)/include/IOOPHM.h
190INSTALL_RDF = $(EXTENSION_OUTDIR)/install.rdf
191
192SDK_PATH = $(PLUGIN_SDKS)/gecko-sdks
jat@google.comd9f13ab2010-06-17 18:57:35 +0000193GECKO_SDK = $(SDK_PATH)/gecko-$(GECKO_VERSION)
jat@google.com134be542009-08-03 15:30:11 +0000194GECKO_PLAT_INC = $(GECKO_SDK)/$(GECKO_PLATFORM)/include
195GECKO_LIBS = $(GECKO_SDK)/$(GECKO_PLATFORM)/lib$(GECKO_MINOR_VERSION)
acleung@google.comcd201b72012-01-24 16:23:41 +0000196
197ifeq ($(XPIDL_TOOL),python)
198XPIDL = $(GECKO_SDK)/bin/xpidl.py
199XPIDL_HEADER = $(GECKO_SDK)/bin/header.py
200XPIDL_TYPELIBS = $(GECKO_SDK)/bin/typelib.py
201else
jat@google.com134be542009-08-03 15:30:11 +0000202XPIDL = $(GECKO_SDK)/$(GECKO_PLATFORM)/bin/xpidl
acleung@google.com7ffdec42012-02-06 21:08:46 +0000203XPIDL_HEADER = $(GECKO_SDK)/$(GECKO_PLATFORM)/bin/xpidl -m header
acleung@google.comcd201b72012-01-24 16:23:41 +0000204XPIDL_TYPELIBS = $(GECKO_SDK)/$(GECKO_PLATFORM)/bin/xpidl -m typelib
205endif
206
jat@google.com134be542009-08-03 15:30:11 +0000207XPIDL_FLAGS = -I$(GECKO_SDK)/idl
208
jat@google.com134be542009-08-03 15:30:11 +0000209DLLFLAGS += \
jat@google.com134be542009-08-03 15:30:11 +0000210 -L$(GECKO_LIBS) \
jat@google.com134be542009-08-03 15:30:11 +0000211 -Wl,$(RUN_PATH_FLAG),$(GECKO_LIBS) \
conroy@google.com36cf7482011-01-12 19:43:57 +0000212 $(GECKO_DLLFLAGS) $(NSPR_DLLFLAGS) \
213 $(MOZALLOC_DLLFLAGS) $(MOZJS_DLLFLAGS)
jat@google.com134be542009-08-03 15:30:11 +0000214
215INC += -I$(GECKO_PLAT_INC) -I$(GECKO_SDK)/include -I$(dir $(FF_HEADER))
216
jat@google.comeb19eba2010-01-27 15:05:14 +0000217VERSION ?= 1.0.$(shell ./getversion).$(shell date +%Y%m%d%H%M%S)
jat@google.com134be542009-08-03 15:30:11 +0000218
219.PHONY: all xpi lib common browser clean depend install install-platform find-ff-libs
220
jat@google.com268f9982009-11-06 21:34:25 +0000221all:: common lib xpi
jat@google.com134be542009-08-03 15:30:11 +0000222
223lib:: browser $(OBJ_OUTDIR) $(EXTENSION_OUTDIR) $(FF_DLL)
224xpi:: $(EXTENSION_OUTDIR) $(INSTALLER_XPI)
225
226find-ff-libs::
227ifeq ($(FIREFOX_LIBS),)
228 $(warning Using firefox libraries at $(GECKO_LIBS))
229 $(eval FIREFOX_LIBS = $(GECKO_LIBS))
230endif
231
232browser:: find-ff-libs
233# if [ ! -r $(GECKO_LIBS)/libxpcom.so ]
234# then
235# $(error Missing Firefox libraries at $(GECKO_LIBS))
236# fi
237
jat@google.com268f9982009-11-06 21:34:25 +0000238generate-install:: $(EXTENSION_OUTDIR) install-template.rdf
239 sed -e s/GWT_DEV_PLUGIN_VERSION/$(VERSION)/ install-template.rdf >$(INSTALL_RDF)
jat@google.com134be542009-08-03 15:30:11 +0000240
jat@google.com268f9982009-11-06 21:34:25 +0000241linuxplatforms:
jat@google.com8b766602009-12-01 01:41:06 +0000242 $(MAKE) lib BROWSER=ff3 ARCH=x86
243 $(MAKE) lib BROWSER=ff3+ ARCH=x86
244 $(MAKE) lib BROWSER=ff35 ARCH=x86
jat@google.comeb19eba2010-01-27 15:05:14 +0000245 $(MAKE) lib BROWSER=ff36 ARCH=x86
jat@google.comd9f13ab2010-06-17 18:57:35 +0000246 $(MAKE) lib BROWSER=ff40 ARCH=x86
conroy@google.com99115412011-06-23 19:36:33 +0000247 $(MAKE) lib BROWSER=ff50 ARCH=x86
acleung@google.com8346ccf2011-08-30 01:03:44 +0000248 $(MAKE) lib BROWSER=ff60 ARCH=x86
acleung@google.com0d1a4b42011-10-07 05:13:43 +0000249 $(MAKE) lib BROWSER=ff70 ARCH=x86
acleung@google.com82a20e72011-12-09 18:02:24 +0000250 $(MAKE) lib BROWSER=ff80 ARCH=x86
acleung@google.com55318842012-02-06 16:46:53 +0000251 $(MAKE) lib BROWSER=ff90 ARCH=x86
252 $(MAKE) lib BROWSER=ff100 ARCH=x86
jat@google.com8b766602009-12-01 01:41:06 +0000253 $(MAKE) lib BROWSER=ff3 ARCH=x86_64
254 $(MAKE) lib BROWSER=ff3+ ARCH=x86_64
255 $(MAKE) lib BROWSER=ff35 ARCH=x86_64
jat@google.comd9f13ab2010-06-17 18:57:35 +0000256 $(MAKE) lib BROWSER=ff36 ARCH=x86_64
257 $(MAKE) lib BROWSER=ff40 ARCH=x86_64
conroy@google.com99115412011-06-23 19:36:33 +0000258 $(MAKE) lib BROWSER=ff50 ARCH=x86_64
acleung@google.com8346ccf2011-08-30 01:03:44 +0000259 $(MAKE) lib BROWSER=ff60 ARCH=x86_64
acleung@google.com0d1a4b42011-10-07 05:13:43 +0000260 $(MAKE) lib BROWSER=ff70 ARCH=x86_64
acleung@google.com82a20e72011-12-09 18:02:24 +0000261 $(MAKE) lib BROWSER=ff80 ARCH=x86_64
acleung@google.comcd201b72012-01-24 16:23:41 +0000262 $(MAKE) lib BROWSER=ff90 ARCH=x86_64
acleung@google.com55318842012-02-06 16:46:53 +0000263 $(MAKE) lib BROWSER=ff100 ARCH=x86_64
jat@google.com134be542009-08-03 15:30:11 +0000264
jat@google.com67079342009-11-10 19:25:04 +0000265macplatforms:
jat@google.com8b766602009-12-01 01:41:06 +0000266 $(MAKE) lib BROWSER=ff3
267 $(MAKE) lib BROWSER=ff35
jat@google.comeb19eba2010-01-27 15:05:14 +0000268 $(MAKE) lib BROWSER=ff36
jat@google.comd9f13ab2010-06-17 18:57:35 +0000269 $(MAKE) lib BROWSER=ff40
conroy@google.com8c4d3c22011-06-27 13:32:57 +0000270 $(MAKE) lib BROWSER=ff50
acleung@google.com0d1a4b42011-10-07 05:13:43 +0000271 $(MAKE) lib BROWSER=ff60
272 $(MAKE) lib BROWSER=ff70
acleung@google.com82a20e72011-12-09 18:02:24 +0000273 $(MAKE) lib BROWSER=ff80
acleung@google.comcd201b72012-01-24 16:23:41 +0000274 $(MAKE) lib BROWSER=ff90
acleung@google.com55318842012-02-06 16:46:53 +0000275 $(MAKE) lib BROWSER=ff100
jat@google.com67079342009-11-10 19:25:04 +0000276
jat@google.com134be542009-08-03 15:30:11 +0000277SRCS = \
278 ExternalWrapper.cpp \
279 ModuleOOPHM.cpp \
280 FFSessionHandler.cpp \
281 JavaObject.cpp \
282 JSRunner.cpp \
jat@google.com23181962009-09-03 22:22:56 +0000283 Preferences.cpp \
jat@google.com134be542009-08-03 15:30:11 +0000284 XpcomDebug.cpp
285
286FF_OBJS = $(patsubst %.cpp,$(OBJ_OUTDIR)/%.o,$(SRCS))
287
288$(FF_OBJS): $(OBJ_OUTDIR)
289
290$(OBJ_OUTDIR)::
291 @mkdir -p $@
292
jat@google.com268f9982009-11-06 21:34:25 +0000293$(INSTALLER_XPI): $(FF_TYPELIB) $(EXTENSION_OUTDIR) generate-install $(shell find prebuilt/extension $(EXTENSION_OUTDIR))
jat@google.com134be542009-08-03 15:30:11 +0000294 @mkdir -p $(EXTENSION_OUTDIR)/components
jat@google.com268f9982009-11-06 21:34:25 +0000295 #(cd prebuilt/extension; find . \( -name .svn -prune \) -o -print | cpio -pmdua ../../$(EXTENSION_OUTDIR))
jat@google.com134be542009-08-03 15:30:11 +0000296 -rm $(INSTALLER_XPI)
297 (cd $(EXTENSION_OUTDIR) && zip -r -D -9 $(DIR)/$(INSTALLER_XPI) * -x '*/.svn/*' -x 'META-INF/*')
298
299$(FF_TYPELIB): IOOPHM.idl
acleung@google.comcd201b72012-01-24 16:23:41 +0000300 [ ! -x $(XPIDL) -o \( -e $(FF_TYPELIB) -a ! -w $(FF_TYPELIB) \) ] || $(XPIDL_TYPELIBS) $(XPIDL_FLAGS) -o $@ $<
jat@google.com134be542009-08-03 15:30:11 +0000301
jat@google.com268f9982009-11-06 21:34:25 +0000302$(FF_HEADER): IOOPHM.idl $(OBJ_OUTDIR)
acleung@google.comcd201b72012-01-24 16:23:41 +0000303 [ ! -x $(XPIDL) -o \( -e $(FF_HEADER) -a ! -w $(FF_HEADER) \) ] || $(XPIDL_HEADER) $(XPIDL_FLAGS) -o $@ $<
jat@google.com134be542009-08-03 15:30:11 +0000304
305$(FF_DLL): $(FF_OBJS) $(COMMON)
conroy@google.come3153e52011-01-24 12:30:43 +0000306 $(CXX) -o $@ $(FF_OBJS) $(COMMON) $(DLLFLAGS)
jat@google.com268f9982009-11-06 21:34:25 +0000307 @mkdir -p $(FF_PLATFORM_DIR)
308 cp $(FF_DLL) $(FF_PLATFORM_DIR)/
jat@google.com134be542009-08-03 15:30:11 +0000309
310$(OBJ_OUTDIR)/%.o: %.cpp $(FF_HEADER)
311 $(CXX) $(CXXFLAGS) -c -o $@ -I. -I../common $<
312
313common $(COMMON):
314 (cd ../common && $(MAKE))
315
316clean:
317 rm -rf build
318
319install-platform:
320ifdef BROWSER
jat@google.com268f9982009-11-06 21:34:25 +0000321 @-mkdir -p $(FF_PLATFORM_DIR)
322 -cp $(FF_DLL) $(FF_PLATFORM_DIR))/
jat@google.com134be542009-08-03 15:30:11 +0000323ifeq ($(OS),mac)
324 @-mkdir -p $(subst $(EXTENSION_OUTDIR),prebuilt/extension-$(BROWSER),$(subst x86,ppc,$(FF_PLATFORM_DIR)))/components
325 -cp $(FF_DLL) $(subst $(EXTENSION_OUTDIR),prebuilt/extension-$(BROWSER),$(subst x86,ppc,$(FF_PLATFORM_DIR)))/components
326endif
327else
jat@google.com134be542009-08-03 15:30:11 +0000328 @$(MAKE) $@ BROWSER=ff3
jat@google.com268f9982009-11-06 21:34:25 +0000329 @$(MAKE) $@ BROWSER=ff3+
330 @$(MAKE) $@ BROWSER=ff35
jat@google.comeb19eba2010-01-27 15:05:14 +0000331 @$(MAKE) $@ BROWSER=ff36
jat@google.comd9f13ab2010-06-17 18:57:35 +0000332 @$(MAKE) $@ BROWSER=ff40
conroy@google.com99115412011-06-23 19:36:33 +0000333 @$(MAKE) $@ BROWSER=ff50
jat@google.com134be542009-08-03 15:30:11 +0000334endif
335
336DEPEND = g++ -MM -MT'$$(OBJ_OUTDIR)/$(patsubst %.cpp,%.o,$(src))' \
337 -I. -I../common -isystem$(dir $(FF_HEADER)) -isystem$(GECKO_SDK)/include $(src) &&
338depend: browser $(OBJ_OUTDIR) $(FF_HEADER)
339 ($(foreach src,$(SRCS),$(DEPEND)) true) >>Makefile
340# makedepend -- $(CFLAGS) -- $(SRCS)
341
342# DO NOT DELETE
343$(OBJ_OUTDIR)/ExternalWrapper.o: ExternalWrapper.cpp ExternalWrapper.h \
344 mozincludes.h FFSessionHandler.h SessionData.h \
345 ../common/SessionHandler.h ../common/BrowserChannel.h ../common/Value.h \
346 ../common/Debug.h ../common/Platform.h ../common/DebugLevel.h \
347 ../common/BrowserChannel.h ../common/scoped_ptr/scoped_ptr.h \
348 ../common/LoadModuleMessage.h ../common/Message.h \
349 ../common/BrowserChannel.h ../common/HostChannel.h ../common/Debug.h \
350 ../common/ByteOrder.h ../common/Platform.h ../common/Socket.h \
351 ../common/Platform.h ../common/Debug.h ../common/AllowedConnections.h \
352 ../common/Platform.h ../common/Message.h ../common/ReturnMessage.h \
353 ../common/Message.h ../common/BrowserChannel.h ../common/Value.h \
354 ../common/Value.h ../common/SessionHandler.h ../common/SessionHandler.h \
355 ../common/ServerMethods.h ../common/Value.h
356$(OBJ_OUTDIR)/ModuleOOPHM.o: ModuleOOPHM.cpp ../common/Debug.h \
357 ../common/Platform.h ../common/DebugLevel.h ExternalWrapper.h \
358 mozincludes.h FFSessionHandler.h SessionData.h \
359 ../common/SessionHandler.h ../common/BrowserChannel.h ../common/Value.h \
360 ../common/Debug.h ../common/BrowserChannel.h \
361 ../common/scoped_ptr/scoped_ptr.h
362$(OBJ_OUTDIR)/FFSessionHandler.o: FFSessionHandler.cpp FFSessionHandler.h \
363 mozincludes.h SessionData.h ../common/SessionHandler.h \
364 ../common/BrowserChannel.h ../common/Value.h ../common/Debug.h \
365 ../common/Platform.h ../common/DebugLevel.h ../common/BrowserChannel.h \
366 ../common/HostChannel.h ../common/Debug.h ../common/ByteOrder.h \
367 ../common/Platform.h ../common/Socket.h ../common/Platform.h \
368 ../common/Debug.h ../common/AllowedConnections.h ../common/Platform.h \
369 ../common/Message.h ../common/ReturnMessage.h ../common/Message.h \
370 ../common/BrowserChannel.h ../common/Value.h ../common/Value.h \
371 ../common/SessionHandler.h JavaObject.h JSRunner.h XpcomDebug.h \
372 ../common/scoped_ptr/scoped_ptr.h RootedObject.h \
373 ../common/InvokeMessage.h ../common/Message.h \
374 ../common/BrowserChannel.h ../common/Value.h ../common/ServerMethods.h \
375 ../common/Value.h
376$(OBJ_OUTDIR)/JavaObject.o: JavaObject.cpp JavaObject.h mozincludes.h \
377 FFSessionHandler.h SessionData.h ../common/SessionHandler.h \
378 ../common/BrowserChannel.h ../common/Value.h ../common/Debug.h \
379 ../common/Platform.h ../common/DebugLevel.h ../common/BrowserChannel.h \
380 ../common/ServerMethods.h ../common/Value.h XpcomDebug.h \
381 ../common/HostChannel.h ../common/Debug.h ../common/ByteOrder.h \
382 ../common/Platform.h ../common/Socket.h ../common/Platform.h \
383 ../common/Debug.h ../common/AllowedConnections.h ../common/Platform.h \
384 ../common/Message.h ../common/ReturnMessage.h ../common/Message.h \
385 ../common/BrowserChannel.h ../common/Value.h ../common/Value.h \
386 ../common/SessionHandler.h ../common/InvokeMessage.h \
387 ../common/Message.h ../common/BrowserChannel.h ../common/Value.h \
388 ../common/scoped_ptr/scoped_ptr.h
389$(OBJ_OUTDIR)/JSRunner.o: JSRunner.cpp JSRunner.h mozincludes.h
390$(OBJ_OUTDIR)/XpcomDebug.o: XpcomDebug.cpp XpcomDebug.h mozincludes.h \
391 JavaObject.h