]> git.draconx.ca Git - dxcommon.git/blobdiff - snippet/glconfig.mk
fix-ltdl: Fix LIBOBJ mangling to work with automake-1.16.
[dxcommon.git] / snippet / glconfig.mk
index dd999af22c4ad6e624511c3084063cabfb226219..b7ed4cc02e88f648306824cc7b95458344f31655 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright © 2011 Nick Bowler
+# Copyright © 2011-2013, 2019, 2021-2022 Nick Bowler
 #
 # Automake fragment to generate a Gnulib config header to rewrite exported
 # symbols.  This fragment relies on the Gnulib makefile postprocessing done by
 GLCONFIG = @GLSRC@/glconfig.h
 GLCAT    = cat /dev/null
 
-GLSYM_V   = $(GLSYM_V_$(V))
-GLSYM_V_  = $(GLSYM_V_$(AM_DEFAULT_VERBOSITY))
-GLSYM_V_0 = @echo "  GLSYM " $<;
+GLSYM_V   = $(GLSYM_V_@AM_V@)
+GLSYM_V_  = $(GLSYM_V_@AM_DEFAULT_V@)
+GLSYM_V_0 = @printf '  %$(DX_ALIGN_V)s %s\n' 'GLSYM   ' $<;
 
-gnulib_symfiles = $(gnulib_lt_objects:.lo=.glsym)
 gnulib_headers += $(GLCONFIG)
 
 # This suffix rule triggers symbol generation only on demand.  Dependencies are
@@ -45,6 +44,15 @@ clean-glconfig:
        done
 .PHONY: clean-glconfig
 
+# Produce the list of all currently-enabled gnulib object files to assist with
+# external build helpers.
+GLCONFIG_OBJECTS = &1
+glconfig-objects:
+       @:; { \
+         for f in $(gnulib_objects); do echo "$$f"; done; \
+       } >$(GLCONFIG_OBJECTS)
+.PHONY: glconfig-objects
+
 # The config header requires compilation of all gnulib object files via the
 # .glsym rule above.  However, it cannot depend on those build products
 # directly because they are phony, and would make this header never up-to-date.
@@ -78,4 +86,13 @@ glconfig-gen: $(gnulib_symfiles)
                        > $(GLCONFIG).tmp
 .PHONY: glconfig-gen
 
-@AMDEP_TRUE@@am__include@ @am__quote@@GLSRC@/$(DEPDIR)/glconfig.Ph@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@@GLSRC@/$(DEPDIR)/glconfig.Ph@am__quote@@dx_include_marker@
+
+# Automake 1.16 and newer use make rules to generate the dependency stubs.
+# we must hook those which is kind of annoying to do.  This should be harmless
+# on previous versions which generate the stubs directly in config.status.
+@dx_depfiles_target@: @GLSRC@/$(DEPDIR)/glconfig.Ph
+@GLSRC@/$(DEPDIR)/glconfig.Ph:
+       @$(MKDIR_P) $(@D)
+       @echo '# dummy' >$@-t && mv -f $@-t $@
+DISTCLEANFILES += @GLSRC@/$(DEPDIR)/glconfig.Ph