1 # This Source Code Form is subject to the terms of the Mozilla Public
2 # License, v. 2.0. If a copy of the MPL was not distributed with this
3 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 include $(topsrcdir
)/config
/makefiles
/rcs.mk
8 PREF_JS_EXPORTS
= $(srcdir)/b2g.js
10 UA_UPDATE_FILE
= ua-update.json
12 $(UA_UPDATE_FILE
): % : %.in
13 # strip out comment lines, which are not valid in JSON
14 sed
-e
'/^ *\/\//d' -e
'/^ *$$/d' $^
> $@
16 UA_UPDATE_FILES
= $(UA_UPDATE_FILE
)
17 UA_UPDATE_DEST
= $(FINAL_TARGET
)
18 INSTALL_TARGETS
+= UA_UPDATE
20 # Make sure the standalone glue doesn't try to get libxpcom.so from b2g/app.
23 include $(topsrcdir
)/config
/rules.mk
27 ifeq ($(OS_ARCH
),WINNT
)
28 REDIT_PATH
= $(LIBXUL_DIST
)/bin
31 APP_BINARY
= $(MOZ_APP_NAME
)$(BIN_SUFFIX
)
33 ifeq (cocoa
,$(MOZ_WIDGET_TOOLKIT
))
35 APP_NAME
= $(MOZ_APP_DISPLAYNAME
)
36 APP_VERSION
= $(MOZ_APP_VERSION
)
39 APP_NAME
:= $(APP_NAME
)Debug
42 AB_CD
= $(MOZ_UI_LOCALE
)
44 AB
:= $(firstword $(subst -, ,$(AB_CD
)))
46 clean clobber repackage
::
47 rm -rf
$(DIST
)/$(APP_NAME
).app
56 $(call mkdir_deps
,$(DIST
)/$(APP_NAME
).app
/Contents
/MacOS
) \
57 $(call mkdir_deps
,$(DIST
)/$(APP_NAME
).app
/Contents
/Resources
/$(AB
).lproj
) \
61 tools repackage
:: $(libs-preqs
)
62 rsync
-a
--exclude
'*.in' $(srcdir)/macbuild
/Contents
$(DIST
)/$(APP_NAME
).app
--exclude English.lproj
63 rsync
-a
--exclude
'*.in' $(srcdir)/macbuild
/Contents
/Resources
/English.lproj
/ $(DIST
)/$(APP_NAME
).app
/Contents
/Resources
/$(AB
).lproj
64 sed
-e
's/%MOZ_APP_VERSION%/$(MOZ_APP_VERSION)/' -e
's/%MOZ_APP_NAME%/$(MOZ_APP_NAME)/' -e
's/%APP_VERSION%/$(APP_VERSION)/' -e
's/%APP_NAME%/$(APP_NAME)/' -e
's/%APP_BINARY%/$(APP_BINARY)/' $(srcdir)/macbuild
/Contents
/Info.plist.in
> $(DIST
)/$(APP_NAME
).app
/Contents
/Info.plist
65 sed
-e
's/%APP_VERSION%/$(APP_VERSION)/' -e
's/%APP_NAME%/$(APP_NAME)/' $(srcdir)/macbuild
/Contents
/Resources
/English.lproj
/InfoPlist.strings.in | iconv
-f UTF-8
-t UTF-16
> $(DIST
)/$(APP_NAME
).app
/Contents
/Resources
/$(AB
).lproj
/InfoPlist.strings
66 rsync
-a
$(DIST
)/bin
/ $(DIST
)/$(APP_NAME
).app
/Contents
/$(APPFILES
)
67 mv
$(DIST
)/$(APP_NAME
).app
/Contents
/$(APPFILES
)/dependentlibs.list
$(DIST
)/$(APP_NAME
).app
/Contents
/Resources
68 $(RM
) $(DIST
)/$(APP_NAME
).app
/Contents
/$(APPFILES
)/mangle
$(DIST
)/$(APP_NAME
).app
/Contents
/$(APPFILES
)/shlibsign
70 cp
$(LIBXUL_DIST
)/bin
/xulrunner
$(BIN_SUFFIX
) $(DIST
)/$(APP_NAME
).app
/Contents
/MacOS
/$(APP_BINARY
)
71 rsync
-a
--exclude nsinstall
--copy-unsafe-links
$(LIBXUL_DIST
)/XUL.framework
$(DIST
)/$(APP_NAME
).app
/Contents
/Frameworks
73 $(RM
) $(DIST
)/$(APP_NAME
).app
/Contents
/MacOS
/$(PROGRAM
)
74 rsync
-aL
$(PROGRAM
) $(DIST
)/$(APP_NAME
).app
/Contents
/MacOS
76 cp
-RL
$(srcdir)/b2g.icns
$(DIST
)/$(APP_NAME
).app
/Contents
/Resources
/$(MOZ_APP_NAME
).icns
77 printf APPLMOZB
> $(DIST
)/$(APP_NAME
).app
/Contents
/PkgInfo
79 else # MOZ_WIDGET_TOOLKIT != cocoa
83 cp
$(LIBXUL_DIST
)/bin
/xulrunner-stub
$(BIN_SUFFIX
) $(DIST
)/bin
/$(APP_BINARY
)
84 $(NSINSTALL
) -D
$(DIST
)/bin
/xulrunner
85 (cd
$(LIBXUL_SDK
)/bin
&& tar $(TAR_CREATE_FLAGS
) - .
) |
(cd
$(DIST
)/bin
/xulrunner
&& tar -xf
-)
87 $(NSINSTALL
) -D
$(DIST
)/bin
/chrome
/icons
/default
89 # Copy the app icon for b2g-desktop
90 ifeq ($(OS_ARCH
),WINNT
)
91 cp
$(srcdir)/$(APP_ICON
).ico
$(DIST
)/bin
/chrome
/icons
/default
/$(APP_ICON
).ico
92 $(REDIT_PATH
)/redit
$(HOST_BIN_SUFFIX
) $(DIST
)/bin
/$(APP_BINARY
) $(srcdir)/$(APP_ICON
).ico
93 cp
$(srcdir)/$(APP_ICON
).ico
$(DIST
)/bin
/chrome
/icons
/default
/default.ico
94 else ifneq (gonk
,$(MOZ_WIDGET_TOOLKIT
))
95 cp
$(srcdir)/default.png
$(DIST
)/bin
/chrome
/icons
/default
/default.png