1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
# Special target to create an AmigaOS snapshot installation.
#
# WORKAROUNDS:
#
# 'mkdir' seems to incorrectly set permissions to path/dirs on AmigaOS.
# Once a vanilla installation is created, none of the corresponding subdirs
# are found or accessible (extras, themes, plugins), instead ScummVM will
# report missing theme files and a missing valid translation.dat. Same with
# cross-partition access (which make we wonder if it's a FS bug afterall).
# Switching to AmigaOS' own "makedir" until there is a fix or other solution.
#
amigaosdist: $(EXECUTABLE) $(PLUGINS)
# Releases should always be completely fresh installs.
rm -rf $(AMIGAOSPATH)
makedir all $(AMIGAOSPATH)
$(CP) ${srcdir}/dists/amigaos/scummvm_drawer.info $(patsubst %/,%,$(AMIGAOSPATH)).info
$(CP) ${srcdir}/dists/amigaos/scummvm.info $(AMIGAOSPATH)/$(EXECUTABLE).info
ifdef DIST_FILES_DOCS
makedir all $(AMIGAOSPATH)/doc
$(CP) $(DIST_FILES_DOCS) $(AMIGAOSPATH)/doc
$(foreach lang, $(DIST_FILES_DOCS_languages), makedir all $(AMIGAOSPATH)/doc/$(lang); $(CP) $(DIST_FILES_DOCS_$(lang)) $(AMIGAOSPATH)/doc/$(lang);)
# README.md and corresponding scripts must be in cwd
# when building out of tree.
$(CP) ${srcdir}/README.md README.tmp
$(CP) ${srcdir}/dists/amigaos/md2ag.rexx .
# (buildbot) LC_ALL is here to work around Debian bug #973647
LC_ALL=C rx md2ag.rexx README.tmp $(AMIGAOSPATH)/doc/
rm -f md2ag.rexx README.tmp
endif
# Copy mandatory installation files.
makedir all $(AMIGAOSPATH)/extras
ifdef DIST_FILES_ENGINEDATA
$(CP) $(DIST_FILES_ENGINEDATA) $(AMIGAOSPATH)/extras
endif
ifdef DIST_FILES_NETWORKING
$(CP) $(DIST_FILES_NETWORKING) $(AMIGAOSPATH)/extras
endif
ifdef DIST_FILES_VKEYBD
$(CP) $(DIST_FILES_VKEYBD) $(AMIGAOSPATH)/extras
endif
ifdef DIST_FILES_THEMES
makedir all $(AMIGAOSPATH)/themes
$(CP) $(DIST_FILES_THEMES) $(AMIGAOSPATH)/themes
endif
ifneq ($(DIST_FILES_SHADERS),)
makedir all $(AMIGAOSPATH)/extras/shaders
$(CP) $(DIST_FILES_SHADERS) $(AMIGAOSPATH)/extras/shaders
endif
ifdef DYNAMIC_MODULES
makedir all $(AMIGAOSPATH)/plugins
# Catch edge-case when no engines/plugins are compiled
# otherwise cp/strip will error out due to missing source files.
ifneq ($(PLUGINS),)
ifdef DEBUG_BUILD
# Preserve all debug information on debug builds
$(CP) $(PLUGINS) $(AMIGAOSPATH)/plugins/$(plugin)
else
$(foreach plugin, $(PLUGINS), $(STRIP) $(plugin) -o $(AMIGAOSPATH)/$(plugin);)
endif
endif
makedir all $(AMIGAOSPATH)/sobjs
# AmigaOS installations, especially vanilla ones, won't have every
# mandatory shared library in place, let alone the correct versions.
# Extract and install compiled-in shared libraries to their own subdir.
$(CP) ${srcdir}/dists/amigaos/install_deps.rexx .
rx install_deps.rexx $(EXECUTABLE) $(AMIGAOSPATH)
rm -f install_deps.rexx
endif
ifdef DEBUG_BUILD
# Preserve all debug information on debug builds
$(CP) $(EXECUTABLE) $(AMIGAOSPATH)/$(EXECUTABLE)
else
$(STRIP) $(EXECUTABLE) -o $(AMIGAOSPATH)/$(EXECUTABLE)
endif
|