diff options
Diffstat (limited to 'build-aux/Makefile.once.head/20-sd.mk')
-rw-r--r-- | build-aux/Makefile.once.head/20-sd.mk | 233 |
1 files changed, 144 insertions, 89 deletions
diff --git a/build-aux/Makefile.once.head/20-sd.mk b/build-aux/Makefile.once.head/20-sd.mk index 5aa4779463..3c4d6bfd5c 100644 --- a/build-aux/Makefile.once.head/20-sd.mk +++ b/build-aux/Makefile.once.head/20-sd.mk @@ -20,91 +20,148 @@ # # You should have received a copy of the GNU Lesser General Public License # along with systemd; If not, see <http://www.gnu.org/licenses/>. -include $(dir $(lastword $(MAKEFILE_LIST)))/../../config.mk -include $(topsrcdir)/build-aux/Makefile.head.mk -ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} -AM_MAKEFLAGS = --no-print-directory -AUTOMAKE_OPTIONS = color-tests parallel-tests +mod.sd.description = (systemd) shared build rules +mod.sd.depends += am -GCC_COLORS ?= 'ooh, shiny!' -export GCC_COLORS +TESTS ?= -SUBDIRS = . po +# Make behavior +SHELL = bash -o pipefail -# remove targets if the command fails .DELETE_ON_ERROR: - -# keep intermediate files .SECONDARY: -# Keep the test-suite.log -.PRECIOUS: $(TEST_SUITE_LOG) Makefile +# Autoconf +OUR_CPPFLAGS += -MT $@ -MD -MP -MF $(@D)/$(DEPDIR)/$(basename $(@F)).P$(patsubst .%,%,$(suffix $(@F))) +OUR_CPPFLAGS += -include $(topoutdir)/config.h +OUR_CPPFLAGS += $(sort -I$(@D) $(if $(<D),-I$(<D) -I$(call at.out2src,$(<D)))) + +# +sd.ALL_CFLAGS = $(strip $(OUR_CFLAGS) $(am.CFLAGS) $(sd.CFLAGS) $(CFLAGS) ) +sd.ALL_CPPFLAGS = $(strip $(OUR_CPPFLAGS) $(am.CPPFLAGS) $(sd.CPPFLAGS) $(CPPFLAGS) ) +sd.ALL_LDFLAGS = $(strip $(OUR_LDFLAGS) $(am.LDFLAGS) $(sd.LDFLAGS) $(LDFLAGS) ) +sd.ALL_LIBTOOLFLAGS = $(strip $(OUR_LIBTOOLFLAGS) $(sd.LIBTOOLFLAGS) $(LIBTOOLFLAGS) ) + +sd.COMPILE = $(CC) $(sd.ALL_CPPFLAGS) $(sd.ALL_CFLAGS) +sd.LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(sd.ALL_LIBTOOLFLAGS) --mode=compile $(CC) $(sd.ALL_CPPFLAGS) $(sd.ALL_CFLAGS) +sd.LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(sd.ALL_LIBTOOLFLAGS) --mode=link $(CCLD) $(sd.ALL_CFLAGS) $(sd.ALL_LDFLAGS) -o $@ + +CC ?= c99 +CCLD ?= c99 +LIBTOOL ?= libtool V ?= -AM_V_M4 = $(AM_V_M4_$(V)) -AM_V_M4_ = $(AM_V_M4_$(AM_DEFAULT_VERBOSITY)) -AM_V_M4_0 = @echo " M4 " $@; -AM_V_M4_1 = - -AM_V_XSLT = $(AM_V_XSLT_$(V)) -AM_V_XSLT_ = $(AM_V_XSLT_$(AM_DEFAULT_VERBOSITY)) -AM_V_XSLT_0 = @echo " XSLT " $@; -AM_V_XSLT_1 = - -AM_V_GPERF = $(AM_V_GPERF_$(V)) -AM_V_GPERF_ = $(AM_V_GPERF_$(AM_DEFAULT_VERBOSITY)) -AM_V_GPERF_0 = @echo " GPERF " $@; -AM_V_GPERF_1 = - -AM_V_LN = $(AM_V_LN_$(V)) -AM_V_LN_ = $(AM_V_LN_$(AM_DEFAULT_VERBOSITY)) -AM_V_LN_0 = @echo " LN " $@; -AM_V_LN_1 = - -AM_V_RM = $(AM_V_RM_$(V)) -AM_V_RM_ = $(AM_V_RM_$(AM_DEFAULT_VERBOSITY)) -AM_V_RM_0 = @echo " RM " $@; -AM_V_RM_1 = - -AM_V_CC = $(AM_V_CC_$(V)) -AM_V_CC_ = $(AM_V_CC_$(AM_DEFAULT_VERBOSITY)) -AM_V_CC_0 = @echo " CC " $@; -AM_V_CC_1 = - -AM_V_CCLD = $(AM_V_CCLD_$(V)) -AM_V_CCLD_ = $(AM_V_CCLD_$(AM_DEFAULT_VERBOSITY)) -AM_V_CCLD_0 = @echo " CCLD " $@; -AM_V_CCLD_1 = - -AM_V_P = $(AM_V_P_$(V)) -AM_V_P_ = $(AM_V_P_$(AM_DEFAULT_VERBOSITY)) -AM_V_P_0 = false -AM_V_P_1 = : - -AM_V_GEN = $(AM_V_GEN_$(V)) -AM_V_GEN_ = $(AM_V_GEN_$(AM_DEFAULT_VERBOSITY)) -AM_V_GEN_0 = @echo " GEN " $@; -AM_V_GEN_1 = - -AM_V_at = $(AM_V_at_$(V)) -AM_V_at_ = $(AM_V_at_$(AM_DEFAULT_VERBOSITY)) -AM_V_at_0 = @ -AM_V_at_1 = - -AM_V_lt = $(AM_V_lt_$(V)) -AM_V_lt_ = $(AM_V_lt_$(AM_DEFAULT_VERBOSITY)) -AM_V_lt_0 = --silent -AM_V_lt_1 = - -INTLTOOL_V_MERGE = $(INTLTOOL_V_MERGE_$(V)) -INTLTOOL_V_MERGE_OPTIONS = $(intltool_v_merge_options_$(V)) -INTLTOOL_V_MERGE_ = $(INTLTOOL_V_MERGE_$(AM_DEFAULT_VERBOSITY)) -INTLTOOL_V_MERGE_0 = @echo " ITMRG " $@; -INTLTOOL_V_MERGE_1 = - -substitutions = \ +AM_V_at ?= $(AM_V_at_$(V)) +AM_V_at_ ?= $(AM_V_at_$(AM_DEFAULT_VERBOSITY)) +AM_V_at_0 ?= @ +AM_V_at_1 ?= + +AM_V_M4 ?= $(AM_V_M4_$(V)) +AM_V_M4_ ?= $(AM_V_M4_$(AM_DEFAULT_VERBOSITY)) +AM_V_M4_0 ?= @echo " M4 " $@; +AM_V_M4_1 ?= + +AM_V_XSLT ?= $(AM_V_XSLT_$(V)) +AM_V_XSLT_ ?= $(AM_V_XSLT_$(AM_DEFAULT_VERBOSITY)) +AM_V_XSLT_0 ?= @echo " XSLT " $@; +AM_V_XSLT_1 ?= + +AM_V_GPERF ?= $(AM_V_GPERF_$(V)) +AM_V_GPERF_ ?= $(AM_V_GPERF_$(AM_DEFAULT_VERBOSITY)) +AM_V_GPERF_0 ?= @echo " GPERF " $@; +AM_V_GPERF_1 ?= + +AM_V_LN ?= $(AM_V_LN_$(V)) +AM_V_LN_ ?= $(AM_V_LN_$(AM_DEFAULT_VERBOSITY)) +AM_V_LN_0 ?= @echo " LN " $@; +AM_V_LN_1 ?= + +AM_V_RM ?= $(AM_V_RM_$(V)) +AM_V_RM_ ?= $(AM_V_RM_$(AM_DEFAULT_VERBOSITY)) +AM_V_RM_0 ?= @echo " RM " $@; +AM_V_RM_1 ?= + +AM_V_CC ?= $(AM_V_CC_$(V)) +AM_V_CC_ ?= $(AM_V_CC_$(AM_DEFAULT_VERBOSITY)) +AM_V_CC_0 ?= @echo " CC " $@; +AM_V_CC_1 ?= + +AM_V_CCLD ?= $(AM_V_CCLD_$(V)) +AM_V_CCLD_ ?= $(AM_V_CCLD_$(AM_DEFAULT_VERBOSITY)) +AM_V_CCLD_0 ?= @echo " CCLD " $@; +AM_V_CCLD_1 ?= + +AM_V_EFI_CC ?= $(AM_V_EFI_CC_$(V)) +AM_V_EFI_CC_ ?= $(AM_V_EFI_CC_$(AM_DEFAULT_VERBOSITY)) +AM_V_EFI_CC_0 ?= @echo " EFI_CC " $@; +AM_V_EFI_CC_1 ?= + +AM_V_EFI_CCLD ?= $(AM_V_EFI_CCLD_$(V)) +AM_V_EFI_CCLD_ ?= $(AM_V_EFI_CCLD_$(AM_DEFAULT_VERBOSITY)) +AM_V_EFI_CCLD_0 ?= @echo " EFI_CCLD" $@; +AM_V_EFI_CCLD_1 ?= + +AM_V_P ?= $(AM_V_P_$(V)) +AM_V_P_ ?= $(AM_V_P_$(AM_DEFAULT_VERBOSITY)) +AM_V_P_0 ?= false +AM_V_P_1 ?= : + +AM_V_GEN ?= $(AM_V_GEN_$(V)) +AM_V_GEN_ ?= $(AM_V_GEN_$(AM_DEFAULT_VERBOSITY)) +AM_V_GEN_0 ?= @echo " GEN " $@; +AM_V_GEN_1 ?= + +INTLTOOL_V_MERGE ?= $(INTLTOOL_V_MERGE_$(V)) +INTLTOOL_V_MERGE_OPTIONS ?= $(intltool_v_merge_options_$(V)) +INTLTOOL_V_MERGE_ ?= $(INTLTOOL_V_MERGE_$(AM_DEFAULT_VERBOSITY)) +INTLTOOL_V_MERGE_0 ?= @echo " ITMRG " $@; +INTLTOOL_V_MERGE_1 ?= + +am.INSTALL_PROGRAMS = $(AM_V_PROG)$(LIBTOOL) $(AM_V_lt) --tag=CC $(sd.ALL_LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $< $@ +am.INSTALL_SCRIPTS = $(AM_V_SCRIPT)$(INSTALL_SCRIPT) $< $@ +am.INSTALL_LTLIBRARIES = $(AM_V_LIB)$(LIBTOOL) $(AM_V_lt) --tag=CC $(sd.ALL_LIBTOOLFLAGS) --mode=install $(INSTALL) $< $@ +am.INSTALL_DATA = $(AM_V_DATA)$(INSTALL_DATA) $< $@ +am.INSTALL_HEADERS = $(AM_V_HEADER)$(INSTALL_DATA) $< $@ +am.INSTALL_MANS = $(AM_V_MAN)$(INSTALL_DATA) $< $@ + +AM_V_lt ?= $(AM_V_lt_$(V)) +AM_V_lt_ ?= $(AM_V_lt_$(AM_DEFAULT_VERBOSITY)) +AM_V_lt_0 ?= --silent +AM_V_lt_1 ?= + +AM_V_PROG ?= $(AM_V_PROG_$(V)) +AM_V_PROG_ ?= $(AM_V_PROG_$(AM_DEFAULT_VERBOSITY)) +AM_V_PROG_0 ?= @echo " PROG " $@; +AM_V_PROG_1 ?= + +AM_V_SCRIPT ?= $(AM_V_SCRIPT_$(V)) +AM_V_SCRIPT_ ?= $(AM_V_SCRIPT_$(AM_DEFAULT_VERBOSITY)) +AM_V_SCRIPT_0 ?= @echo " SCRIPT " $@; +AM_V_SCRIPT_1 ?= + +AM_V_LIB ?= $(AM_V_LIB_$(V)) +AM_V_LIB_ ?= $(AM_V_LIB_$(AM_DEFAULT_VERBOSITY)) +AM_V_LIB_0 ?= @echo " LIB " $@; +AM_V_LIB_1 ?= + +AM_V_DATA ?= $(AM_V_DATA_$(V)) +AM_V_DATA_ ?= $(AM_V_DATA_$(AM_DEFAULT_VERBOSITY)) +AM_V_DATA_0 ?= @echo " DATA " $@; +AM_V_DATA_1 ?= + +AM_V_HEADER ?= $(AM_V_HEADER_$(V)) +AM_V_HEADER_ ?= $(AM_V_HEADER_$(AM_DEFAULT_VERBOSITY)) +AM_V_HEADER_0 ?= @echo " HEADER " $@; +AM_V_HEADER_1 ?= + +AM_V_MAN ?= $(AM_V_MAN_$(V)) +AM_V_MAN_ ?= $(AM_V_MAN_$(AM_DEFAULT_VERBOSITY)) +AM_V_MAN_0 ?= @echo " MAN " $@; +AM_V_MAN_1 ?= + +sd.substitutions = \ '|rootlibexecdir=$(rootlibexecdir)|' \ '|rootbindir=$(rootbindir)|' \ '|bindir=$(bindir)|' \ @@ -166,12 +223,14 @@ substitutions = \ '|binfmtdir=$(binfmtdir)|' \ '|modulesloaddir=$(modulesloaddir)|' -SED_PROCESS = \ +sd.substitution_keys := $(subst |,,$(shell printf '%s\n' $(sd.substitutions) | cut -d= -f1)) + +sd.SED_PROCESS = \ $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \ - $(SED) $(subst '|,-e 's|@,$(subst =,\@|,$(subst |',|g',$(substitutions)))) \ + $(SED) $(subst '|,-e 's|@,$(subst =,\@|,$(subst |',|g',$(sd.substitutions)))) \ < $< > $@ -XSLTPROC_FLAGS = \ +sd.XSLTPROC_FLAGS = \ --nonet \ --xinclude \ --stringparam man.output.quietly 1 \ @@ -179,18 +238,14 @@ XSLTPROC_FLAGS = \ --stringparam man.authors.section.enabled 0 \ --stringparam man.copyright.section.enabled 0 \ --stringparam systemd.version $(VERSION) \ - --path '$(builddir)/man:$(srcdir)/man' + --path '$(outdir):$(srcdir):$(topoutdir)/man:$(topsrcdir)/man' -XSLT = $(if $(XSLTPROC), $(XSLTPROC), xsltproc) -XSLTPROC_PROCESS_MAN = \ - $(AM_V_XSLT)$(XSLT) -o $@ $(XSLTPROC_FLAGS) $(srcdir)/man/custom-man.xsl $< +sd.XSLT = $(if $(XSLTPROC), $(XSLTPROC), xsltproc) +sd.XSLTPROC_PROCESS_MAN = \ + $(AM_V_XSLT)$(sd.XSLT) -o $@ $(sd.XSLTPROC_FLAGS) $(srcdir)/man/custom-man.xsl $< -XSLTPROC_PROCESS_HTML = \ - $(AM_V_XSLT)$(XSLT) -o $@ $(XSLTPROC_FLAGS) $(srcdir)/man/custom-html.xsl $< +sd.XSLTPROC_PROCESS_HTML = \ + $(AM_V_XSLT)$(sd.XSLT) -o $@ $(sd.XSLTPROC_FLAGS) $(srcdir)/man/custom-html.xsl $< -define html-alias +sd.html-alias = \ $(AM_V_LN)$(LN_S) -f $(notdir $<) $@ -endef - - -include $(topsrcdir)/build-aux/Makefile.tail.mk |