mirror of
https://github.com/wesnoth/wesnoth
synced 2025-04-29 03:23:20 +00:00

...those broke creation of the tarball now the interesting task starts: get rid off the python configure check (and using python flags at building) without breaking installation of the python tools
230 lines
8.9 KiB
Makefile
230 lines
8.9 KiB
Makefile
ISUBDIRS = icons
|
|
SUBDIRS = po m4 src doc $(ISUBDIRS)
|
|
pkgdatadir=$(datadir)/@DATADIR@
|
|
|
|
bin_SCRIPTS =
|
|
|
|
# Ignore junk -- object files, editor backup files, wmllint backup files.
|
|
findfilterflags=! \( -name .svn -prune -o -name ".\#*" -o -name "*~" -o -name "*bak" -o -name 'Makefile' -o -name '*Makefile' -o -type d -o -wholename "data/test/*" \)
|
|
|
|
# List all datafiles, ignoring junk
|
|
finddata=(cd $(top_srcdir) && find data fonts icons images sounds $(findfilterflags) -print )
|
|
# List all data subdirectories
|
|
finddatadirs=(cd $(top_srcdir) && find data fonts icons images sounds -type d \! \( -name .svn -prune \) -print )
|
|
# List non-installable utility files
|
|
findnoinst=(cd $(top_srcdir) && find utils $(findfilterflags) -print )
|
|
# List all Header files
|
|
findnoinst_headers=(cd $(top_srcdir) && find src -name "*.hpp" -print && find src -name "*.h" -print && find src -name "*.ii" -print && find src -name "*.i" -print )
|
|
# List all files required for scons build recipe
|
|
findsconscript=(cd $(top_srcdir) && find . -name "SConscript" -print )
|
|
findsconstruct=(cd $(top_srcdir) && find . -name "SConstruct" -print )
|
|
findsconsdir=(cd $(top_srcdir) && find scons $(findfilterflags) -print )
|
|
# List all files required for cmake build recipe
|
|
findcmakelists=(cd $(top_srcdir) && find . -name "CMakeLists.txt" -print )
|
|
findcmakedir=(cd $(top_srcdir) && find cmake $(findfilterflags) -print )
|
|
findcmakeextrafiles=(cd $(top_srcdir) && find po -name "po-update.sh" -print -o -name "pot-update.sh.in" -print -o -name "LINGUAS" -print )
|
|
|
|
# Find files derived from the manual that should go in a distribution
|
|
finddocdist=(cd $(top_srcdir) && find doc/manual -name "*.html" -o -name "*.css" -o -name "*.jpg" -o -name "*.txt")
|
|
# Same list as previous, but with doc/ stripped off the front
|
|
finddoc=($(finddocdist) | sed -e 's:doc/manual:manual:g' )
|
|
# List all document directories
|
|
finddocdirs=(cd $(top_srcdir)/doc && find manual -type d \! \( -name .svn -prune \) -print; )
|
|
|
|
# This is a workaround to include manpage and manual translation files in the
|
|
# tarball. Manual and manpages are pre-built, so these files aren't actually
|
|
# needed to build Wesnoth, but are included because .po files are the
|
|
# preferred source of modification.
|
|
findextrapo=(cd $(top_srcdir) && \
|
|
find po/wesnoth-manpages po/wesnoth-manual \
|
|
-name "*.pot" -o -name "*.po" -o -name "*.cfg")
|
|
|
|
w_preparefileinstall = if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
|
case $$p in \
|
|
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
|
*) f=$$p;; \
|
|
esac;
|
|
|
|
# Create Macintosh app bundle from the game
|
|
bundle_contents=@PACKAGE_NAME@.app/Contents
|
|
@PACKAGE@_bundle: src/@PACKAGE@
|
|
mkdir -p "$(bundle_contents)/MacOS"
|
|
mkdir -p "$(bundle_contents)/Resources"
|
|
echo "APPL????" > "$(bundle_contents)/PkgInfo"
|
|
$(INSTALL_PROGRAM) $< "$(bundle_contents)/MacOS/@PACKAGE_NAME@"
|
|
|
|
# Run this before release to check that POTs and data are in good shape
|
|
sanity-check:
|
|
cd utils; ./sanity_check
|
|
cd data/tools; make sanity-check
|
|
|
|
install-data-local:
|
|
@$(NORMAL_INSTALL)
|
|
if INSTALLDATA
|
|
@echo "Replicate data directory skeleton under target shared-data directory."
|
|
@echo "Then copy all corresponding files."
|
|
test -z "$(pkgdatadir)" || $(mkdir_p) "$(DESTDIR)$(pkgdatadir)"
|
|
( $(finddatadirs) ) | while read p; do \
|
|
$(mkdir_p) "$(DESTDIR)$(pkgdatadir)/$$p"; \
|
|
done; \
|
|
srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
|
( $(finddata) ) | while read p; do \
|
|
$(w_preparefileinstall) \
|
|
echo $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \
|
|
$(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \
|
|
done
|
|
@echo "Replicate doc directory skeleton under target doc subdirectory"
|
|
@echo "Then copy all corresponding files."
|
|
test -z "$(docdir)" || $(mkdir_p) "$(DESTDIR)$(docdir)"
|
|
( $(finddocdirs) ) | while read p; do \
|
|
$(mkdir_p) "$(DESTDIR)$(docdir)/$$p"; \
|
|
done; \
|
|
( $(finddoc) ) | while read p; do \
|
|
cd doc && $(w_preparefileinstall) \
|
|
echo $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(docdir)/$$f"; \
|
|
$(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(docdir)/$$f"; cd ..; \
|
|
done
|
|
#if DUMMYLOCALES
|
|
@echo "Create dummy locales beneath the Wesnoth data directory"
|
|
$(mkdir_p) "$(DESTDIR)$(pkgdatadir)/locales"
|
|
if test -d "$(DESTDIR)$(pkgdatadir)/locales/C" ; then rm -r "$(DESTDIR)$(pkgdatadir)/locales/C" ; fi
|
|
echo | localedef -c "$(DESTDIR)$(pkgdatadir)/locales/C" 2> /dev/null; \
|
|
for loc in `ls data/languages/*.cfg | sed -e's/data\/languages\/\(.*\)\.cfg/\1/'`; do \
|
|
loclnk="$(DESTDIR)$(pkgdatadir)/locales/$$loc"@wesnoth; \
|
|
if test -L "$$loclnk" ; then rm "$$loclnk" ; fi; \
|
|
ln -s C "$$loclnk"; done; \
|
|
true
|
|
#endif
|
|
if TINYGUI
|
|
@echo "Shrink installed images by a factor of two."
|
|
(cd $(top_srcdir) && find data/core/images data/campaigns images \( $(findfilterflags) -a -name '*.png' -and -not -name 'bar-energy-tinygui.png' -print \) ) | while read p; do \
|
|
$(w_preparefileinstall) \
|
|
eval `identify $$d$$p | cut -f 3 -d ' ' | sed s/^/imagewidth=/ | sed s/x/\;imageheight=/` ;\
|
|
case $${imagewidth}x$$imageheight in \
|
|
1024x768) dstsize=320x240 ;; \
|
|
640x480) dstsize=240x180 ;; \
|
|
205x205) dstsize=80x80 ;; \
|
|
*) if [ $$imageheight -gt $$imagewidth ]; then max=`expr $$imageheight / 2`; else max=`expr $$imagewidth / 2`; fi ;\
|
|
dstsize=$${max}x$${max} ;; \
|
|
esac ; \
|
|
file=`basename "$$p"`; \
|
|
file "$$d$$p" | egrep "(RGBA|alpha)" >/dev/null 2>&1 && {\
|
|
convert "$$d$$p" -filter point -resize $$dstsize "$(DESTDIR)$(pkgdatadir)/$$f";\
|
|
} || { \
|
|
convert "$$d$$p" -resize $$dstsize "$(DESTDIR)$(pkgdatadir)/$$f"; \
|
|
} \
|
|
done
|
|
endif
|
|
@echo "Local installation is complete"
|
|
endif
|
|
|
|
uninstall-local:
|
|
@$(NORMAL_UNINSTALL)
|
|
if INSTALLDATA
|
|
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
|
( $(finddata) ) | while read p; do \
|
|
case $$p in \
|
|
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
|
*) f=$$p;; \
|
|
esac; \
|
|
echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \
|
|
rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \
|
|
done
|
|
( $(finddoc) ) | while read p; do \
|
|
case $$p in \
|
|
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
|
*) f=$$p;; \
|
|
esac; \
|
|
echo " rm -f '$(DESTDIR)$(docadir)/$$f'"; \
|
|
rm -f "$(DESTDIR)$(docdir)/$$f"; \
|
|
done
|
|
( $(finddocdirs) | sed -e 's/ /\n/g' | sort -r ) | while read p; do \
|
|
d=$(DESTDIR)$(docdir)/$$p && \
|
|
if test -d $$d ; then echo "rmdir $$d"; echo `rmdir $$d` ; fi \
|
|
done
|
|
endif
|
|
|
|
dist-hook:
|
|
srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
|
( $(finddata); $(finddocdist); $(findnoinst); $(findnoinst_headers); $(findextrapo); $(findsconscript); $(findsconstruct); $(findsconsdir); $(findcmakelists); $(findcmakedir); $(findcmakeextrafiles) ) | (cd $(top_srcdir) && tar cf - -T -) | (cd $(distdir) && tar xf -)
|
|
|
|
dist_noinst_DATA = copyright changelog players_changelog wesnoth.kdevelop
|
|
|
|
uninstall-hook:
|
|
if test -d $(pkgdatadir) ; then rm -r $(pkgdatadir) ; fi
|
|
if test -d $(bindir) ; then echo `rmdir $(bindir)` ; fi
|
|
if test -d $(datadir) ; then echo `rmdir $(datadir)` ; fi
|
|
if test -d $(prefix) ; then echo `rmdir $(prefix)` ; fi
|
|
if test -d $(docdir) ; then echo `rmdir $(docdir)` ; fi
|
|
|
|
clean-local:
|
|
rm -rf po/stamp* po/*/stamp*
|
|
|
|
distclean-local:
|
|
rm -rf translations
|
|
|
|
BINARY_STAGING=/tmp/$(PACKAGE)-$(VERSION)-staging
|
|
BINARY_DIST=/tmp/$(PACKAGE)-binary-$(VERSION).tar.gz
|
|
DATA_DIST=/tmp/$(PACKAGE)-data-$(VERSION).tar.gz
|
|
|
|
binary-dist:
|
|
@rm -rf $(BINARY_STAGING) $(BINARY_DIST)
|
|
@make install-exec DESTDIR=$(BINARY_STAGING)
|
|
@cd $(BINARY_STAGING) ; tar cf - * | gzip -c >$(BINARY_DIST)
|
|
@rm -rf $(BINARY_STAGING)
|
|
@echo "Precompiled binary tarball is in $(BINARY_DIST)"
|
|
|
|
data-dist:
|
|
@rm -rf $(BINARY_STAGING) $(DATA_DIST)
|
|
@make install-data DESTDIR=$(BINARY_STAGING)
|
|
@cd $(BINARY_STAGING) ; tar cf - * | gzip -c >$(DATA_DIST)
|
|
@rm -rf $(BINARY_STAGING)
|
|
@echo "Precompiled data tarball is in $(DATA_DIST)"
|
|
|
|
ACLOCAL_AMFLAGS = -I m4
|
|
|
|
EXTRA_DIST = config/config.rpath config/mkinstalldirs config/py-compile
|
|
|
|
if PYTHON_INSTALL
|
|
pkgpython_PYTHON = data/tools/wesnoth/wmltools.py \
|
|
data/tools/wesnoth/libsvn.py \
|
|
data/tools/wesnoth/wescamp.py \
|
|
data/tools/wesnoth/wmldata.py \
|
|
data/tools/wesnoth/wmliterator.py \
|
|
data/tools/wesnoth/wmlparser.py \
|
|
data/tools/wesnoth/campaignserver_client.py \
|
|
data/tools/wesnoth/__init__.py
|
|
endif
|
|
|
|
update-po:
|
|
@cd po && make $@ || exit $?
|
|
if MANUALUPDATE
|
|
@cd doc/manual && make update-po || exit $?
|
|
endif
|
|
|
|
if PO4AUPDATE
|
|
update-po4a:
|
|
@cd po && make update-po4a || exit $?
|
|
@echo -n "Removing empty man directories... "
|
|
@find doc/man/ -maxdepth 1 -type d -empty -exec rmdir {} \; && \
|
|
echo "done." || exit $?
|
|
|
|
if MANUALUPDATE
|
|
@cd doc/manual && make html || exit $?
|
|
endif
|
|
endif
|
|
|
|
if MANUALUPDATE
|
|
manual-en:
|
|
@cd doc/manual && make manual.en.html || exit $?
|
|
endif
|
|
|
|
# latest graph-includes.pl can be found currently at http://ydirson.free.fr/soft/wesnoth/graphs/
|
|
wesnoth-deps.dot:
|
|
PERL5LIB=$(top_srcdir) graph-includes -verbose --class wesnoth --consolidate 1-1 \
|
|
-sysI /usr/include/c++/4.0 -sysI /usr/include -sysI /usr/include/SDL \
|
|
--prefixstrip $(top_srcdir)/src/ -I $(top_srcdir)/src $(top_srcdir)/src > $@ || \
|
|
( rm $@; false )
|
|
%.ps: %.dot
|
|
dot -Tps $< > $@
|