-# Copyright © 2011-2013, 2019, 2021 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
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
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.
# The glconfig-gen target is intended only for use in recursive make
# invocations.
glconfig-gen: $(gnulib_symfiles)
+ $(AM_V_at) $(MKDIR_P) @GLSRC@
$(AM_V_at) depfiles=; symfiles=; \
for sym in $(gnulib_symfiles); do \
- symdir=`expr "$$sym" : '\(.*/\)'`; \
- symfile=`expr "$$sym" : '.*/\(.*\)' || printf '%s\n' "$$sym"`; \
- symbase=$$symdir.syms/`expr "$$symfile" : '\(.*\)\..*'`; \
- test -f "$$symbase.deps" && \
- depfiles="$$depfiles $$symbase.deps"; \
- symfiles="$$symfiles $$symbase.sym"; \
+ symdir=`expr "$$sym" : '\(.*/\)'`; \
+ symfile=`expr "$$sym" : '.*/\(.*\)' || printf '%s\n' "$$sym"`; \
+ symbase=$$symdir.syms/`expr "$$symfile" : '\(.*\)\..*'`; \
+ test -f "$$symbase.deps" && \
+ depfiles="$$depfiles $$symbase.deps"; \
+ symfiles="$$symfiles $$symbase.sym"; \
done; \
- $(GLCAT) $$depfiles > @GLSRC@/$(DEPDIR)/glconfig.Ph && \
- $(GLCAT) $$symfiles | sed 's/.*/#define & $(GLSYM_PREFIX)&/' \
- > $(GLCONFIG).tmp
+ $(glconfig_nodeps) \
+ || $(GLCAT) $$depfiles > @GLSRC@/$(DEPDIR)/glconfig.Ph || exit; \
+ $(GLCAT) $$symfiles | sed 's/.*/#define & $(GLSYM_PREFIX)&/' \
+ >$(GLCONFIG).tmp
.PHONY: glconfig-gen
-@AMDEP_TRUE@@am__include@ @am__quote@@GLSRC@/$(DEPDIR)/glconfig.Ph@am__quote@@dx_include_marker@
+if AMDEP
+glconfig_nodeps = false
+@am__include@ @am__quote@@GLSRC@/$(DEPDIR)/glconfig.Ph@am__quote@@dx_include_marker@
+else
+glconfig_nodeps = true
+endif
# 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