# There is NO WARRANTY, to the extent permitted by law.
ACLOCAL_AMFLAGS = -I m4
-AUTOMAKE_OPTIONS = nostdinc
# For Gnulib
MOSTLYCLEANFILES =
AM_CPPFLAGS = -I$(top_builddir)/src -I$(top_srcdir)/src \
-I$(top_builddir)/lib -I$(top_srcdir)/lib \
- -I$(top_builddir) -I$(top_srcdir) \
-I$(top_builddir)/test \
-DBISON_LOCALEDIR=\"$(BISON_LOCALEDIR)\" \
-DLOCALEDIR=\"$(localedir)\"
dist_man_MANS = doc/man/cdecl99.1 doc/man/libcdecl.3
include_HEADERS = src/cdecl.h
-noinst_HEADERS = conf_post.h src/typemap.h src/output.h src/scan.h \
+noinst_HEADERS = conf_pre.h conf_post.h src/typemap.h src/output.h src/scan.h \
src/parse.h src/i18n.h src/normalize.h src/error.h test/declgen.h \
test/test.h
# fix-gnulib.pl. Furthermore, the following additional changes may be
# required:
#
-# * Add AUTOMAKE_OPTIONS = nostdinc to Makefile.am (or equivalent).
-# * Ensure that -I$(top_builddir)/@GLSRC@ and -I$(top_builddir) are
-# listed in AM_CPPFLAGS (in that order).
+# * Add AM_PROC_CC_C_O to configure.ac
# * Pass the desired symbol prefix to DX_FIX_GNULIB in configure.ac.
#
# License WTFPL2: Do What The Fuck You Want To Public License, version 2.
# This is free software: you are free to do what the fuck you want to.
# There is NO WARRANTY, to the extent permitted by law.
-GLCONFIG = @GLSRC@/config.h
+GLCONFIG = @GLSRC@/glconfig.h
GLCAT = cat /dev/null
GLSYM_V = $(GLSYM_V_$(V))
$(GLSYM_V) $(MKDIR_P) $(@D)/.syms
$(AM_V_at) depfile=$(@D)/.syms/$(*F).deps \
source=$< object=$(GLCONFIG) $(CCDEPMODE) \
- $(depcomp) $(COMPILE) -c -o $(@D)/.syms/$(*F).o $<
+ $(depcomp) $(COMPILE) -DNO_GLCONFIG \
+ -c -o $(@D)/.syms/$(*F).o $<
$(AM_V_at) $(SHELL) $(top_builddir)/exported.sh \
$(@D)/.syms/$(*F).o > $(@D)/.syms/$(*F).sym
$(gnulib_symfiles): $(gnulib_core_headers)
# 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 those compilations will include this header if it exists,
-# which is (by definition) out of date when this rule gets triggered.
+# directly because they are phony, and would make this header never up-to-date.
#
-# Thus, we delete the header, then perform a recursive make call to regenerate
-# the header, which can in turn parallelize the required compilation.
+# Thus, we use a recursive make call to regenerate the header, which avoids
+# the need to list prerequisites.
#
-# Also delete the phony symbol files so the build doesn't fail badly if they
-# got created somehow (for instance by make -t).
-$(GLCONFIG): $(top_builddir)/config.h $(gnulib_core_headers)
- -$(AM_V_at) rm -f $(gnulib_symfiles) $@.tmp $@
+# Since GNU make does not appear to allow the target of a suffix rule to be
+# marked .PHONY, we also delete the .glsym files here just in case they were
+# created for some reason (e.g., make -t).
+$(GLCONFIG): $(gnulib_core_headers)
+ -$(AM_V_at) rm -f $(gnulib_symfiles)
$(AM_V_at) $(MAKE) $(AM_MAKEFLAGS) glconfig-gen
- $(AM_V_GEN) cat $(top_builddir)/config.h >> $@.tmp
- $(AM_V_at) mv -f $@.tmp $@
+ $(AM_V_GEN) mv -f $@.tmp $@
CLEANFILES += $(GLCONFIG)
# The glconfig-gen target is intended only for use in recursive make