94 lines
3.3 KiB
XML
94 lines
3.3 KiB
XML
<?xml version="1.0" ?>
|
|
|
|
<makefile>
|
|
|
|
<!--
|
|
Support for application bundles, for wxWidgets samples.
|
|
-->
|
|
|
|
<!--
|
|
Nasty hack: use $(srcdir) to obtain usable CFBundleIdentifier suffix;
|
|
converts $(srcdir) like "../../samples/minimal" to "samples.minimal".
|
|
-->
|
|
<set var="BUNDLE_IDENTIFIER">
|
|
`echo $(DOLLAR)(srcdir) | sed -e 's,\.\./,,g' | sed -e 's,/,.,g'`
|
|
</set>
|
|
|
|
<set var="BUNDLE_PLIST" overwrite="0">
|
|
$(TOP_SRCDIR)src/osx/carbon/Info.plist.in
|
|
</set>
|
|
<set var="BUNDLE_ICON" overwrite="0">
|
|
$(TOP_SRCDIR)src/osx/carbon/wxmac.icns
|
|
</set>
|
|
<set var="BUNDLE_RESOURCES" overwrite="0"></set>
|
|
|
|
<define-tag name="wx-mac-app-bundle" rules="exe">
|
|
|
|
<!-- bundle directory: -->
|
|
<set var="BUNDLE">$(id).app/Contents</set>
|
|
<set var="BUNDLE_TGT">$(BUNDLE)/PkgInfo</set>
|
|
<set var="BUNDLE_TGT_REF">
|
|
<!-- TODO Remove Mac -->
|
|
<if cond="TOOLKIT=='MAC'">$(BUNDLE)/PkgInfo</if>
|
|
<if cond="TOOLKIT=='OSX_CARBON'">$(BUNDLE)/PkgInfo</if>
|
|
<if cond="TOOLKIT=='OSX_COCOA'">$(BUNDLE)/PkgInfo</if>
|
|
<if cond="TOOLKIT=='OSX_IPHONE'">$(BUNDLE)/PkgInfo</if>
|
|
<if cond="TOOLKIT=='COCOA'">$(BUNDLE)/PkgInfo</if>
|
|
</set>
|
|
|
|
<add-target target="$(BUNDLE_TGT)" type="action"
|
|
cond="target and PLATFORM_MACOSX=='1'"/>
|
|
<modify-target target="$(BUNDLE_TGT)">
|
|
<!-- required data: -->
|
|
<depends>$(id)</depends>
|
|
<depends-on-file>$(BUNDLE_PLIST)</depends-on-file>
|
|
<depends-on-file>$(BUNDLE_ICON)</depends-on-file>
|
|
<depends-on-file>$(BUNDLE_RESOURCES)</depends-on-file>
|
|
|
|
<command>
|
|
<!-- create the directories: -->
|
|
mkdir -p $(BUNDLE)
|
|
mkdir -p $(BUNDLE)/MacOS
|
|
mkdir -p $(BUNDLE)/Resources
|
|
|
|
<!-- Info.plist: -->
|
|
sed -e "s/IDENTIFIER/$(BUNDLE_IDENTIFIER)/" \
|
|
-e "s/EXECUTABLE/$(id)/" \
|
|
-e "s/VERSION/$(WX_VERSION)/" \
|
|
$(BUNDLE_PLIST) >$(BUNDLE)/Info.plist
|
|
|
|
<!-- PkgInfo: -->
|
|
/bin/echo "APPL????" >$(BUNDLE)/PkgInfo
|
|
|
|
<!-- move the binary: -->
|
|
ln -f $(ref("__targetdir",id))$(ref("__targetname",id)) $(BUNDLE)/MacOS/$(id)
|
|
|
|
<!-- copy the application icon: -->
|
|
cp -f $(BUNDLE_ICON) $(BUNDLE)/Resources/wxmac.icns
|
|
</command>
|
|
<if cond="BUNDLE_RESOURCES!=''">
|
|
<command>
|
|
<!-- copy all other bundle resources: -->
|
|
cp -f $(BUNDLE_RESOURCES) $(BUNDLE)/Resources
|
|
</command>
|
|
</if>
|
|
|
|
</modify-target>
|
|
|
|
<!-- add pseudo target id_bundle: -->
|
|
<add-target target="$(id)_bundle" type="phony"
|
|
cond="target and PLATFORM_MACOSX=='1'"/>
|
|
<modify-target target="$(id)_bundle">
|
|
<dependency-of>all</dependency-of>
|
|
<depends>$(BUNDLE_TGT_REF)</depends>
|
|
</modify-target>
|
|
|
|
<!-- "make clean" should delete the bundle: -->
|
|
<modify-target target="clean">
|
|
<command>rm -rf $(id).app</command>
|
|
</modify-target>
|
|
|
|
</define-tag>
|
|
|
|
</makefile>
|