| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- <?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>
|