From 67b0f851b48bffaf8d97e702338004778f364777 Mon Sep 17 00:00:00 2001 From: Patrick McDermott Date: Mon, 15 Mar 2021 06:25:38 -0400 Subject: Add build system and package documentation --- (limited to 'Makefile.am') diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..7530f68 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,123 @@ +# Process this file with automake to produce an input makefile. +# +# Copyright (C) 2013, 2014, 2017, 2018, 2021 P. J. McDermott +# +# This file is part of Dodge Balls +# +# Dodge Balls is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Dodge Balls is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Dodge Balls. If not, see . + +KEY = 'B47A 6674 80CD A1F8 361B 31EE FCDF 9F3F B5D7 3216' + +if IN_GIT +PACKAGE_VERSION_GIT = $$(printf ' (%s)' \ + "$$({ git describe --tags --dirty 2>/dev/null || \ + printf '%s-g%s' \ + "$$(git rev-list --count HEAD)" \ + "$$(git describe --tags --dirty --always)"; \ + } | sed 's|^.*/||')") +else +PACKAGE_VERSION_GIT = +endif + +# PACKAGE_STRING is used in the test suite output and log. +# PACKAGE_VERSION can't be overridden. Automake ignores it in the IN_GIT +# conditional (and throws a warning), and setting it to $(PACKAGE_VERSION_GIT) +# outside the conditional causes PACKAGE_VERSION_GIT to reference itself. +# VERSION is not set here because it is used by: +# * Automake's distdir macro +# * Automake's distdir target (which checks for $(VERSION) in NEWS) +# * Our release target +PACKAGE_STRING = $(PACKAGE_NAME) $(PACKAGE_VERSION)$(PACKAGE_VERSION_GIT) + +gamesdir = $(pkgdatadir)/games + +bin_PROGRAMS = dodge-balls + +dodge_balls_SOURCES = +dodge_balls_CFLAGS = \ + $(WARN_CFLAGS) \ + $(ASAN_CFLAGS) +dodge_balls_CPPFLAGS = \ + $(SDL_CFLAGS) \ + $(SDL_IMAGE_CFLAGS) \ + $(ZLIB_CFLAGS) \ + $(EXPAT_CFLAGS) \ + -DGAMESDIR=\"$(gamesdir)\" +dodge_balls_LDADD = \ + $(ASAN_CFLAGS) \ + $(SDL_LIBS) \ + $(SDL_IMAGE_LIBS) \ + $(ZLIB_LIBS) \ + $(EXPAT_LIBS) +dodge_balls_LINK = $(LINK) version.c +EXTRA_dodge_balls_DEPENDENCIES = version.c +CLEANFILES = version.c +EXTRA_DIST = autogen.sh + +version.c: $(wolfutil_OBJECTS) $(wolfutil_DEPENDENCIES) + $(AM_V_GEN)printf 'const char *PACKAGE_VERSION_GIT = "%s";\n' \ + "$(PACKAGE_VERSION_GIT)" >version.c + +.xcf.png: + $(XCF2PNG) -f -o $@ $< + +uninstall-hook: + for dir in '$(DESTDIR)$(gamesdir)'; do \ + if [ -d "$${dir}" ]; then \ + rmdir "$${dir}"; \ + fi; \ + done + +really-clean: distclean + rm -Rf $(srcdir)/aclocal.m4 $(srcdir)/autom4te.cache/ \ + $(srcdir)/configure \ + $(srcdir)/config.h.in \ + $(srcdir)/build-aux/ $(srcdir)/INSTALL $(srcdir)/Makefile.in \ + $(srcdir)/ChangeLog + +dist-hook: + set -e; \ + if [ -d '$(srcdir)/.git' ]; then \ + printf 'Generated file. Do not edit.\n\n' \ + >'$(distdir)/ChangeLog~'; \ + GIT_DIR='$(srcdir)/.git' git log --stat --color=never \ + >>'$(distdir)/ChangeLog~'; \ + mv '$(distdir)/ChangeLog~' '$(distdir)/ChangeLog'; \ + fi + +release: + sed "s/^Released: ????-??-??\$$/Released: $$(date '+%Y-%m-%d')/" \ + '$(srcdir)/NEWS' >'$(srcdir)/NEWS~' + mv '$(srcdir)/NEWS~' '$(srcdir)/NEWS' + $(MAKE) distcheck + set -e; \ + export GIT_DIR='$(srcdir)/.git'; \ + export GIT_WORK_TREE='$(srcdir)'; \ + git commit -m 'NEWS: Release $(PACKAGE) $(VERSION)' -- NEWS; \ + git tag '$(PACKAGE)/$(VERSION)' HEAD; \ + git push --tags origin master:master + md5sum $(DIST_ARCHIVES) >MD5SUMS + sha256sum $(DIST_ARCHIVES) >SHA256SUMS + set -e; \ + sigs=''; \ + for f in $(DIST_ARCHIVES); do \ + gpg --local-user $(KEY) --armor --detach-sign $${f}; \ + sigs="$${sigs} $${f}.asc"; \ + done; \ + ssh files@files.pehjota.net mkdir -p files/pub/$(PACKAGE); \ + rsync -az --progress --stats $(DIST_ARCHIVES) $${sigs} \ + MD5SUMS SHA256SUMS \ + files@files.pehjota.net:files/pub/$(PACKAGE)/$(VERSION)/ + +include $(top_srcdir)/src/local.mk -- cgit v0.9.1