diff options
Diffstat (limited to 'scripts/mk')
-rw-r--r-- | scripts/mk/Makefile.am | 21 | ||||
-rw-r--r-- | scripts/mk/Makefile.in | 97 | ||||
-rw-r--r-- | scripts/mk/architecture.mk | 6 | ||||
-rw-r--r-- | scripts/mk/buildapi.mk | 5 | ||||
-rw-r--r-- | scripts/mk/buildflags.mk | 20 | ||||
-rw-r--r-- | scripts/mk/buildopts.mk | 13 | ||||
-rw-r--r-- | scripts/mk/buildtools.mk | 25 | ||||
-rw-r--r-- | scripts/mk/default.mk | 8 | ||||
-rw-r--r-- | scripts/mk/pkg-info.mk | 14 | ||||
-rw-r--r-- | scripts/mk/vendor.mk | 9 |
10 files changed, 90 insertions, 128 deletions
diff --git a/scripts/mk/Makefile.am b/scripts/mk/Makefile.am index 257ba52..6e85e17 100644 --- a/scripts/mk/Makefile.am +++ b/scripts/mk/Makefile.am @@ -10,24 +10,3 @@ dist_pkgdata_DATA = \ pkg-info.mk \ vendor.mk \ # EOL - -SUFFIXES = - -include $(top_srcdir)/build-aux/subst.am - -# Ideally we'd use '$(SED) -i', but unfortunately that's not portable. -install-data-hook: - $(do_make_subst) <$(DESTDIR)$(pkgdatadir)/default.mk \ - >$(DESTDIR)$(pkgdatadir)/default.mk.new - mv $(DESTDIR)$(pkgdatadir)/default.mk.new \ - $(DESTDIR)$(pkgdatadir)/default.mk - - $(do_make_subst) <$(DESTDIR)$(pkgdatadir)/buildtools.mk \ - >$(DESTDIR)$(pkgdatadir)/buildtools.mk.new - mv $(DESTDIR)$(pkgdatadir)/buildtools.mk.new \ - $(DESTDIR)$(pkgdatadir)/buildtools.mk - - $(do_make_subst) <$(DESTDIR)$(pkgdatadir)/vendor.mk \ - >$(DESTDIR)$(pkgdatadir)/vendor.mk.new - mv $(DESTDIR)$(pkgdatadir)/vendor.mk.new \ - $(DESTDIR)$(pkgdatadir)/vendor.mk diff --git a/scripts/mk/Makefile.in b/scripts/mk/Makefile.in index 65e8fd5..5b78c79 100644 --- a/scripts/mk/Makefile.in +++ b/scripts/mk/Makefile.in @@ -14,12 +14,6 @@ @SET_MAKE@ -# -# Build time variable substitution for generated files. -# - -# Shell support. - VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ @@ -96,8 +90,8 @@ build_triplet = @build@ host_triplet = @host@ subdir = scripts/mk ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/dpkg-arch.m4 \ - $(top_srcdir)/m4/dpkg-build.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/build-to-host.m4 \ + $(top_srcdir)/m4/dpkg-arch.m4 $(top_srcdir)/m4/dpkg-build.m4 \ $(top_srcdir)/m4/dpkg-compiler.m4 \ $(top_srcdir)/m4/dpkg-coverage.m4 \ $(top_srcdir)/m4/dpkg-funcs.m4 \ @@ -170,8 +164,7 @@ am__uninstall_files_from_dir = { \ am__installdirs = "$(DESTDIR)$(pkgdatadir)" DATA = $(dist_pkgdata_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in \ - $(top_srcdir)/build-aux/subst.am +am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -270,6 +263,7 @@ PACKAGE_RELEASE_DATE = @PACKAGE_RELEASE_DATE@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VCS_ID = @PACKAGE_VCS_ID@ PACKAGE_VCS_TYPE = @PACKAGE_VCS_TYPE@ PACKAGE_VCS_URL = @PACKAGE_VCS_URL@ PACKAGE_VCS_WEB = @PACKAGE_VCS_WEB@ @@ -351,6 +345,8 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ +localedir_c = @localedir_c@ +localedir_c_make = @localedir_c_make@ localstatedir = @localstatedir@ logdir = @logdir@ mandir = @mandir@ @@ -386,40 +382,10 @@ dist_pkgdata_DATA = \ vendor.mk \ # EOL -SUFFIXES = .sh .pl -do_shell_subst = $(AM_V_GEN) $(SED) \ - -e "s:^ADMINDIR=.*$$:ADMINDIR='$(admindir)':" \ - -e "s:^BACKUPSDIR=.*$$:BACKUPSDIR='$(backupsdir)':" \ - -e "s:^PKGDATADIR_DEFAULT=.*$$:PKGDATADIR_DEFAULT='$(pkgdatadir)':" \ - -e "s:^version=['\"][^'\"]*[\"']:version=\"$(PACKAGE_VERSION)\":" \ - -e "s:^TAR=.*$$:TAR='$(TAR)':" \ - # EOL - - -# Perl support. -do_perl_subst = $(AM_V_GEN) $(SED) \ - -e "s:^\#![[:space:]]*/usr/bin/perl:\#!$(PERL):" \ - -e "s:our \$$CONFDIR = .*;:our \$$CONFDIR = '$(pkgconfdir)';:" \ - -e "s:our \$$ADMINDIR = .*;:our \$$ADMINDIR = '$(admindir)';:" \ - -e "s:our \$$LIBDIR = .*;:our \$$LIBDIR = '$(pkglibexecdir)';:" \ - -e "s:our \$$DATADIR = .*;:our \$$DATADIR = '$(pkgdatadir)';:" \ - -e "s:our \$$PROGMAKE = .*;:our \$$PROGMAKE = '$(MAKE)';:" \ - -e "s:our \$$PROGTAR = .*;:our \$$PROGTAR = '$(TAR)';:" \ - -e "s:our \$$PROGPATCH = .*;:our \$$PROGPATCH = '$(PATCH)';:" \ - -e "s:our \$$PROGVERSION = .*;:our \$$PROGVERSION = '$(PACKAGE_VERSION)';:" \ - # EOL - - -# Makefile support. -do_make_subst = $(AM_V_GEN) $(SED) \ - -e "s:dpkg_datadir[[:space:]]*=[[:space:]]*[^[:space:]]*:dpkg_datadir = $(pkgdatadir):" \ - # EOL - all: all-am .SUFFIXES: -.SUFFIXES: .sh .pl -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/build-aux/subst.am $(am__configure_deps) +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ @@ -439,7 +405,6 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; -$(top_srcdir)/build-aux/subst.am $(am__empty): $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh @@ -573,8 +538,7 @@ info: info-am info-am: install-data-am: install-dist_pkgdataDATA - @$(NORMAL_INSTALL) - $(MAKE) $(AM_MAKEFLAGS) install-data-hook + install-dvi: install-dvi-am install-dvi-am: @@ -619,51 +583,24 @@ ps-am: uninstall-am: uninstall-dist_pkgdataDATA -.MAKE: install-am install-data-am install-strip +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am \ - install-data-hook install-dist_pkgdataDATA install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am uninstall-dist_pkgdataDATA + install-dist_pkgdataDATA install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ + uninstall-am uninstall-dist_pkgdataDATA .PRECIOUS: Makefile -.sh: Makefile - @test -d `dirname $@` || $(MKDIR_P) `dirname $@` - $(do_shell_subst) <$< >$@ - $(AM_V_at) chmod +x $@ - -.pl: Makefile - @test -d `dirname $@` || $(MKDIR_P) `dirname $@` - $(do_perl_subst) <$< >$@ - $(AM_V_at) chmod +x $@ - -# Ideally we'd use '$(SED) -i', but unfortunately that's not portable. -install-data-hook: - $(do_make_subst) <$(DESTDIR)$(pkgdatadir)/default.mk \ - >$(DESTDIR)$(pkgdatadir)/default.mk.new - mv $(DESTDIR)$(pkgdatadir)/default.mk.new \ - $(DESTDIR)$(pkgdatadir)/default.mk - - $(do_make_subst) <$(DESTDIR)$(pkgdatadir)/buildtools.mk \ - >$(DESTDIR)$(pkgdatadir)/buildtools.mk.new - mv $(DESTDIR)$(pkgdatadir)/buildtools.mk.new \ - $(DESTDIR)$(pkgdatadir)/buildtools.mk - - $(do_make_subst) <$(DESTDIR)$(pkgdatadir)/vendor.mk \ - >$(DESTDIR)$(pkgdatadir)/vendor.mk.new - mv $(DESTDIR)$(pkgdatadir)/vendor.mk.new \ - $(DESTDIR)$(pkgdatadir)/vendor.mk - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/scripts/mk/architecture.mk b/scripts/mk/architecture.mk index c11cada..c2f6a05 100644 --- a/scripts/mk/architecture.mk +++ b/scripts/mk/architecture.mk @@ -1,6 +1,10 @@ # This Makefile fragment (since dpkg 1.16.1) defines all the DEB_HOST_* and # DEB_BUILD_* variables that dpkg-architecture can return. Existing values # of those variables are preserved as per policy. +# All variables are exported. + +ifndef dpkg_architecture_mk_included +dpkg_architecture_mk_included = yes dpkg_lazy_eval ?= $$(or $$(value DPKG_CACHE_$(1)),$$(eval DPKG_CACHE_$(1) := $$(shell $(2)))$$(value DPKG_CACHE_$(1))) @@ -9,3 +13,5 @@ dpkg_architecture_setvar = export $(1) ?= $(call dpkg_lazy_eval,$(1),dpkg-archit $(foreach machine,BUILD HOST TARGET,\ $(foreach var,ARCH ARCH_ABI ARCH_LIBC ARCH_OS ARCH_CPU ARCH_BITS ARCH_ENDIAN GNU_CPU GNU_SYSTEM GNU_TYPE MULTIARCH,\ $(eval $(call dpkg_architecture_setvar,DEB_$(machine)_$(var))))) + +endif # dpkg_architecture_mk_included diff --git a/scripts/mk/buildapi.mk b/scripts/mk/buildapi.mk index 668e325..3a1f164 100644 --- a/scripts/mk/buildapi.mk +++ b/scripts/mk/buildapi.mk @@ -1,5 +1,8 @@ # This Makefile fragment (since dpkg 1.22.0) handles the build API. +ifndef dpkg_buildapi_mk_included +dpkg_buildapi_mk_included = yes + # Default API level when not set. DPKG_BUILD_API ?= $(shell dpkg-buildapi) @@ -7,3 +10,5 @@ DPKG_BUILD_API ?= $(shell dpkg-buildapi) # complexity given no integer operators, given that we currently have to # fetch the build API level anyway. dpkg_build_api_ge = $(shell test "$(DPKG_BUILD_API)" -ge "$(1)" && echo yes) + +endif # dpkg_buildapi_mk_included diff --git a/scripts/mk/buildflags.mk b/scripts/mk/buildflags.mk index 4b8a3d8..1159700 100644 --- a/scripts/mk/buildflags.mk +++ b/scripts/mk/buildflags.mk @@ -28,33 +28,27 @@ # You can also export them in the environment by setting # DPKG_EXPORT_BUILDFLAGS to a non-empty value. # + +ifndef dpkg_buildflags_mk_included +dpkg_buildflags_mk_included = yes + # This list is kept in sync with the default set of flags returned # by dpkg-buildflags. dpkg_lazy_eval ?= $$(or $$(value DPKG_CACHE_$(1)),$$(eval DPKG_CACHE_$(1) := $$(shell $(2)))$$(value DPKG_CACHE_$(1))) -DPKG_BUILDFLAGS_LIST = \ +DPKG_BUILDFLAGS_LIST := $(foreach var,\ ASFLAGS \ - ASFLAGS_FOR_BUILD \ CFLAGS \ - CFLAGS_FOR_BUILD \ CPPFLAGS \ - CPPFLAGS_FOR_BUILD \ CXXFLAGS \ - CXXFLAGS_FOR_BUILD \ OBJCFLAGS \ - OBJCFLAGS_FOR_BUILD \ OBJCXXFLAGS \ - OBJCXXFLAGS_FOR_BUILD \ DFLAGS \ - DFLAGS_FOR_BUILD \ FFLAGS \ - FFLAGS_FOR_BUILD \ FCFLAGS \ - FCFLAGS_FOR_BUILD \ LDFLAGS \ - LDFLAGS_FOR_BUILD \ - # EOL + ,$(var) $(var)_FOR_BUILD) define dpkg_buildflags_export_envvar ifdef $(1) @@ -77,3 +71,5 @@ $(foreach flag,$(DPKG_BUILDFLAGS_LIST),\ ifdef DPKG_EXPORT_BUILDFLAGS export $(DPKG_BUILDFLAGS_LIST) endif + +endif # dpkg_buildflags_mk_included diff --git a/scripts/mk/buildopts.mk b/scripts/mk/buildopts.mk index c957777..734d55e 100644 --- a/scripts/mk/buildopts.mk +++ b/scripts/mk/buildopts.mk @@ -4,7 +4,16 @@ # Defines the following variables: # # DEB_BUILD_OPTION_PARALLEL: the argument for the parallel=N option. +# $(DEB_BUILD_OPTIONS) "parallel=2" "parallel=" "" +# $(DEB_BUILD_OPTION_PARALLEL) "2" "" unset +# $(DEB_BUILD_OPTION_PARALLEL:%=-j%) "-j2" "" "" -ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) - DEB_BUILD_OPTION_PARALLEL = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) +ifndef dpkg_buildopts_mk_included +dpkg_buildopts_mk_included = yes + +dpkg_buildopts_parallel := $(filter parallel=%,$(DEB_BUILD_OPTIONS)) +ifdef dpkg_buildopts_parallel + DEB_BUILD_OPTION_PARALLEL = $(patsubst parallel=%,%,$(dpkg_buildopts_parallel)) endif + +endif # dpkg_buildopts_mk_included diff --git a/scripts/mk/buildtools.mk b/scripts/mk/buildtools.mk index 933fdcf..def15c1 100644 --- a/scripts/mk/buildtools.mk +++ b/scripts/mk/buildtools.mk @@ -25,7 +25,12 @@ # The variables are not exported by default. This can be changed by # defining DPKG_EXPORT_BUILDTOOLS. -dpkg_datadir = $(srcdir)/mk +ifndef dpkg_buildtools_mk_included +dpkg_buildtools_mk_included = yes + +ifndef dpkg_datadir + dpkg_datadir := $(dir $(lastword $(MAKEFILE_LIST))) +endif include $(dpkg_datadir)/architecture.mk # We set the TOOL_FOR_BUILD variables to the specified value, and the TOOL @@ -33,18 +38,18 @@ include $(dpkg_datadir)/architecture.mk # not defined or contain the make built-in defaults. On native builds if # TOOL is defined and TOOL_FOR_BUILD is not, we fallback to use TOOL. define dpkg_buildtool_setvar - ifeq (,$(findstring $(3),$(DEB_BUILD_OPTIONS))) - ifeq ($(origin $(1)),default) + ifeq (,$(filter $(3),$(DEB_BUILD_OPTIONS))) + ifneq (,$(filter default undefined,$(origin $(1)))) $(1) = $(DEB_HOST_GNU_TYPE)-$(2) - else - $(1) ?= $(DEB_HOST_GNU_TYPE)-$(2) endif # On native build fallback to use TOOL if that's defined. - ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) - $(1)_FOR_BUILD ?= $$($(1)) - else - $(1)_FOR_BUILD ?= $(DEB_BUILD_GNU_TYPE)-$(2) + ifeq (undefined,$(origin $(1)_FOR_BUILD)) + ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) + $(1)_FOR_BUILD = $$($(1)) + else + $(1)_FOR_BUILD = $(DEB_BUILD_GNU_TYPE)-$(2) + endif endif else $(1) = : @@ -74,3 +79,5 @@ $(eval $(call dpkg_buildtool_setvar,AR,ar)) $(eval $(call dpkg_buildtool_setvar,RANLIB,ranlib)) $(eval $(call dpkg_buildtool_setvar,PKG_CONFIG,pkgconf)) $(eval $(call dpkg_buildtool_setvar,QMAKE,qmake)) + +endif # dpkg_buildtools_mk_included diff --git a/scripts/mk/default.mk b/scripts/mk/default.mk index 0b2fd4a..14e5be0 100644 --- a/scripts/mk/default.mk +++ b/scripts/mk/default.mk @@ -1,7 +1,11 @@ # This Makefile fragment (since dpkg 1.16.1) includes all the Makefile # fragments that define variables that can be useful within debian/rules. -dpkg_datadir = $(srcdir)/mk +ifndef dpkg_default_mk_included +dpkg_default_mk_included = yes + +dpkg_datadir := $(dir $(lastword $(MAKEFILE_LIST))) + include $(dpkg_datadir)/architecture.mk include $(dpkg_datadir)/buildapi.mk ifeq ($(call dpkg_build_api_ge,1),yes) @@ -11,3 +15,5 @@ include $(dpkg_datadir)/buildflags.mk include $(dpkg_datadir)/buildopts.mk include $(dpkg_datadir)/pkg-info.mk include $(dpkg_datadir)/vendor.mk + +endif # dpkg_default_mk_included diff --git a/scripts/mk/pkg-info.mk b/scripts/mk/pkg-info.mk index bccde23..658e4f6 100644 --- a/scripts/mk/pkg-info.mk +++ b/scripts/mk/pkg-info.mk @@ -8,10 +8,18 @@ # DEB_VERSION_UPSTREAM: package's upstream version. # DEB_DISTRIBUTION: distribution(s) listed in the current debian/changelog # entry. +# DEB_TIMESTAMP: source package release date as seconds since the epoch as +# specified in the latest debian/changelog entry (since dpkg 1.22.9), +# although you are probably looking for SOURCE_DATE_EPOCH instead. # # SOURCE_DATE_EPOCH: source release date as seconds since the epoch, as # specified by <https://reproducible-builds.org/specs/source-date-epoch/> # (since dpkg 1.18.8). +# If it is undefined, the date of the latest changelog entry is used. +# In both cases, the value is exported. + +ifndef dpkg_pkg_info_mk_included +dpkg_pkg_info_mk_included = yes dpkg_late_eval ?= $(or $(value DPKG_CACHE_$(1)),$(eval DPKG_CACHE_$(1) := $(shell $(2)))$(value DPKG_CACHE_$(1))) @@ -21,7 +29,9 @@ DEB_VERSION_EPOCH_UPSTREAM = $(call dpkg_late_eval,DEB_VERSION_EPOCH_UPSTREAM,ec DEB_VERSION_UPSTREAM_REVISION = $(call dpkg_late_eval,DEB_VERSION_UPSTREAM_REVISION,echo '$(DEB_VERSION)' | sed -e 's/^[0-9]*://') DEB_VERSION_UPSTREAM = $(call dpkg_late_eval,DEB_VERSION_UPSTREAM,echo '$(DEB_VERSION_EPOCH_UPSTREAM)' | sed -e 's/^[0-9]*://') DEB_DISTRIBUTION = $(call dpkg_late_eval,DEB_DISTRIBUTION,dpkg-parsechangelog -SDistribution) +DEB_TIMESTAMP = $(call dpkg_late_eval,DEB_TIMESTAMP,dpkg-parsechangelog -STimestamp) -SOURCE_DATE_EPOCH ?= $(call dpkg_late_eval,SOURCE_DATE_EPOCH,dpkg-parsechangelog -STimestamp) - +SOURCE_DATE_EPOCH ?= $(DEB_TIMESTAMP) export SOURCE_DATE_EPOCH + +endif # dpkg_pkg_info_mk_included diff --git a/scripts/mk/vendor.mk b/scripts/mk/vendor.mk index f3241a5..a8d29cb 100644 --- a/scripts/mk/vendor.mk +++ b/scripts/mk/vendor.mk @@ -33,7 +33,12 @@ # ... # endif -dpkg_datadir = $(srcdir)/mk +ifndef dpkg_vendor_mk_included +dpkg_vendor_mk_included = yes + +ifndef dpkg_datadir + dpkg_datadir := $(dir $(lastword $(MAKEFILE_LIST))) +endif include $(dpkg_datadir)/buildapi.mk dpkg_late_eval ?= $(or $(value DPKG_CACHE_$(1)),$(eval DPKG_CACHE_$(1) := $(shell $(2)))$(value DPKG_CACHE_$(1))) @@ -49,3 +54,5 @@ dpkg_vendor_derives_from ?= $(dpkg_vendor_derives_from_v1) else dpkg_vendor_derives_from ?= $(dpkg_vendor_derives_from_v0) endif + +endif # dpkg_vendor_mk_included |