# Process this file with automake to produce an input makefile. # # Copyright (C) 2013, 2014 Patrick "P. J." McDermott # # This file is part of the ProteanOS Development Kit. # # The ProteanOS Development Kit 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. # # The ProteanOS Development Kit 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 the ProteanOS Development Kit. If not, see # . include $(top_srcdir)/src/local.mk include $(top_srcdir)/lib/local.mk include $(top_srcdir)/lib/cmd/local.mk include $(top_srcdir)/lib/profile/local.mk include $(top_srcdir)/lib/package/local.mk include $(top_srcdir)/man/local.mk include $(top_srcdir)/locale/local.mk include $(top_srcdir)/tests/local.mk MANUAL = ProteanOS Development Kit Manual bin_SCRIPTS = $(bin_sources:.sh=) pkgdata_SCRIPTS = $(pkgdata_sources:.sh=.sm) pkgdatacmd_SCRIPTS = $(pkgdatacmd_sources:.sh=.sm) pkgdataprofile_SCRIPTS = $(pkgdataprofile_sources:.sh=.sm) pkgdatapackage_SCRIPTS = $(pkgdatapackage_sources:.sh=.sm) man1_MANS = $(man1_sources:.1in=.1) man8_MANS = $(man8_sources:.8in=.8) locale_MESSAGES = $(locale_sources:.sh=.ms) noinst_DATA = $(locale_MESSAGES) .builddirstamp CLEANFILES = \ $(bin_SCRIPTS) \ $(pkgdata_SCRIPTS) \ $(pkgdatacmd_SCRIPTS) \ $(pkgdataprofile_SCRIPTS) \ $(pkgdatapackage_SCRIPTS) \ $(man1_MANS) \ $(man8_MANS) \ $(locale_MESSAGES) \ .builddirstamp pkgdatacmddir = $(pkgdatadir)/cmd pkgdataprofiledir = $(pkgdatadir)/profile pkgdatapackagedir = $(pkgdatadir)/package uninstall_dirs = \ '$(DESTDIR)$(pkgdatapackagedir)' \ '$(DESTDIR)$(pkgdataprofiledir)' \ '$(DESTDIR)$(pkgdatacmddir)' \ '$(DESTDIR)$(pkgdatadir)' sources = \ $(bin_sources) \ $(pkgdata_sources) \ $(pkgdatacmd_sources) \ $(pkgdataprofile_sources) \ $(pkgdatapackage_sources) \ $(man1_sources) \ $(man8_sources) \ $(locale_sources) \ $(TESTS) \ tests/common.sh \ tests/parse_control.common.sh EXTRA_DIST = \ autogen.sh \ $(sources) \ scripts/announce-release.sh SUFFIXES = .sh .sm .1in .1 .8in .8 .ms cmds = $$(printf '%s ' $(pkgdatacmd_SCRIPTS) | \ sed -e 's|[^ ]*/\([^ ]*\)\.sm |\1 |g') profiles = $$(printf '%s ' $(pkgdataprofile_SCRIPTS) | \ sed -e 's|[^ ]*/\([^ ]*\)\.sm |\1 |g') textdomain = $$(printf '%s\n' '$(PACKAGE)' | sed -e 's|-|_|g') do_subst = sed \ -e 's|[@]PACKAGE_NAME[@]|$(PACKAGE_NAME)|g' \ -e 's|[@]PACKAGE_VERSION[@]|$(PACKAGE_VERSION)|g' \ -e 's|[@]MANUAL[@]|$(MANUAL)|g' \ -e 's|[@]SH[@]|$(SH)|g' \ -e 's|[@]pkgdatadir[@]|$(pkgdatadir)|g' \ -e 's|[@]localedir[@]|$(localedir)|g' \ -e "s|[@]cmds[@]|$(cmds)|g" \ -e "s|[@]profiles[@]|$(profiles)|g" \ -e "s|[@]textdomain[@]|$(textdomain)|g" AM_TESTS_ENVIRONMENT = srcdir=$(top_srcdir) COLOR_TEST_LOGS=$(COLOR_TEST_LOGS) .builddirstamp: $(AM_V_GEN)touch .builddirstamp todo_script = \ /^[0-9]* .[ \t]*\#[ \t]*TODO/,/^[0-9]* \.[ \t]*[^ \t\#]/{ \ /^[0-9]* \.[ \t]*\#/p; \ }; \ /^[0-9]* .[ \t]*\#[ \t]*FIXME/,/^[0-9]* \.[ \t]*[^ \t\#]/{ \ /^[0-9]* \.[ \t]*\#/p; \ }; \ /^[0-9]* .[ \t]*\#[ \t]*XXX/,/^[0-9]* \.[ \t]*[^ \t\#]/{ \ /^[0-9]* \.[ \t]*\#/p; \ }; todo: @set -e; \ printf '\n'; \ printf 'Code comments:\n'; \ printf '==============\n\n'; \ for f in $(sources); do \ printed=false; \ sed '=' "$(top_srcdir)/$${f}" | sed 'N; s/\n/ ./' | sed -n \ '$(todo_script)' | while read -r lineno line; do \ if ! $${printed}; then \ printf '%s:\n' "$${f}"; \ printed=true; \ fi; \ printf ' %6d %s\n' $${lineno} "$${line#.}"; \ done; \ done; \ printf '\n'; \ if [ -f '$(top_srcdir)/TODO' ]; then \ printf 'TODO file:\n'; \ printf '==========\n\n'; \ cat '$(top_srcdir)/TODO'; \ printf '\n'; \ fi wikiman_script = \ H; \ $${ \ g; \ s|^.*]*>\([^<]*\)|[[!meta title="\1"]]|; \ s|
\n*.*$$||; \ p; \ }; wikiman: $(man1_MANS) $(man8_MANS) set -e; \ for f in $(man1_MANS) $(man8_MANS); do \ groff -m man -T html "$${f}" | sed -n '$(wikiman_script)' \ >"$${f}.mdwn"; \ done install-data-local: $(locale_MESSAGES) @$(NORMAL_INSTALL) for f in $(locale_MESSAGES); do \ ff="$${f#*/}"; \ dir="$(DESTDIR)$(localedir)/$${ff%.ms}/LC_MESSAGES"; \ $(MKDIR_P) "$${dir}" || exit 1; \ $(INSTALL_DATA) "$${f}" "$${dir}/$(textdomain).ms" || \ exit $$?; \ done uninstall-local: @$(NORMAL_UNINSTALL) for f in $(locale_MESSAGES); do \ ff="$${f#*/}"; \ dir="$(DESTDIR)$(localedir)/$${ff%.ms}/LC_MESSAGES"; \ rm -f "$${dir}/$(textdomain).ms"; \ done uninstall-hook: for dir in $(uninstall_dirs); do \ if [ -d "$${dir}" ]; then \ rmdir "$${dir}"; \ fi; \ done clean-local: rm -f man/*.*.mdwn really-clean: distclean rm -Rf $(srcdir)/aclocal.m4 $(srcdir)/autom4te.cache/ \ $(srcdir)/configure \ $(srcdir)/build-aux/ $(srcdir)/INSTALL $(srcdir)/Makefile.in \ $(srcdir)/ChangeLog dist-hook: 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 ssh files@files.proteanos.com mkdir -p files/pub/$(PACKAGE) rsync -az --progress --stats $(DIST_ARCHIVES) MD5SUMS SHA256SUMS \ files@files.proteanos.com:files/pub/$(PACKAGE)/$(VERSION)/ '$(srcdir)/scripts/announce-release.sh' \ $(PACKAGE) $(VERSION) '$(PACKAGE_NAME)' .sh: $(AM_V_GEN)$(MKDIR_P) "$$(dirname $@)" $(AM_V_at)$(do_subst) $< >$@ $(AM_V_at)chmod a+x $@ .sh.sm: $(AM_V_GEN)$(MKDIR_P) "$$(dirname $@)" $(AM_V_at)$(do_subst) $< >$@ .1in.1: $(AM_V_GEN)$(MKDIR_P) "$$(dirname $@)" $(AM_V_at)$(do_subst) $< >$@ .8in.8: $(AM_V_GEN)$(MKDIR_P) "$$(dirname $@)" $(AM_V_at)$(do_subst) $< >$@ .sh.ms: $(AM_V_GEN)$(MKDIR_P) "$$(dirname $@)" $(AM_V_at)cp $< $@