diff libgui/module.mk @ 23427:48fd5980e29a

Refactor and normalize generated build info source files * Makefile.am (build-info-commands): New macro to generate build info source files containing hg revision. * libgui/module.mk (EXTRA_libgui_liboctgui_la_SOURCES): Delete variable referencing unnecessary dummy source file. (libgui_liboctgui_la_CPPFLAGS, libgui_liboctgui_la_CFLAGS, libgui_liboctgui_la_CXXFLAGS): New compilation variables. (libgui_CLEANFILES, libgui_EXTRA_DIST, nodist_libgui_liboctgui_la_SOURCES, noinst_HEADERS): Include libgui/liboctgui-build-info.* files moved from libgui/src. (libgui/liboctgui-build-info.cc): Redefine rule moved from libgui/src/module.mk using $(build-info-commands). * libgui/src/module.mk (libgui_CLEANFILES, libgui_EXTRA_DIST, nodist_libgui_src_libgui_src_la_SOURCES, noinst_HEADERS): Remove libgui/src/liboctgui-build-info.* files moved to libgui. (libgui/src/liboctgui-build-info.cc): Delete rule. * libinterp/module.mk (libinterp/liboctinterp-build-info.cc): Redefine using $(build-info-commands). * liboctave/module.mk (EXTRA_liboctave_liboctave_la_SOURCES): Delete variable referencing unnecessary dummy source file. (liboctave/liboctave-build-info.cc): Redefine using $(build-info-commands). * src/module.mk (OCTAVE_GUI_CPPFLAGS): Include -I$(srcdir)/libgui in the list. (src/octave-build-info.cc): Redefine using $(build-info-commands). * libgui/liboctgui-build-info.h, libgui/liboctgui-build-info.in.cc: Move from libgui/src. * libgui/.dummy_force_cxx_link.cc, liboctave/.dummy_force_cxx_link.cc: Delete.
author Mike Miller <mtmiller@octave.org>
date Sat, 22 Apr 2017 14:11:40 -0700
parents 0bfdfd5870d7
children 8308417aff1c
line wrap: on
line diff
--- a/libgui/module.mk	Sat Apr 22 08:12:54 2017 -0400
+++ b/libgui/module.mk	Sat Apr 22 14:11:40 2017 -0700
@@ -33,16 +33,25 @@
 
 LOCALES = $(patsubst libgui/languages/%.ts, libgui/languages/%.qm, $(TRANSLATIONS))
 
+noinst_HEADERS += \
+  libgui/liboctgui-build-info.h
+
 include libgui/src/module.mk
 include libgui/graphics/module.mk
 include libgui/qterminal-module.mk
 
-## liboctgui merely collects a bunch of compiled convenience libraries.
-## It has no source code itself.
-libgui_liboctgui_la_SOURCES =
+nodist_libgui_liboctgui_la_SOURCES = \
+  libgui/liboctgui-build-info.cc
 
-# Dummy C++ source to force C++ linking.
-EXTRA_libgui_liboctgui_la_SOURCES = libgui/.dummy_force_cxx_link.cc
+libgui_liboctgui_la_CPPFLAGS = \
+  $(AM_CPPFLAGS) \
+  @OCTGUI_DLL_DEFS@ \
+  -Ilibgui \
+  -I$(srcdir)/libgui
+
+libgui_liboctgui_la_CFLAGS = $(AM_CFLAGS) $(WARN_CFLAGS)
+
+libgui_liboctgui_la_CXXFLAGS = $(AM_CXXFLAGS) $(WARN_CXXFLAGS)
 
 libgui_liboctgui_la_LIBADD = \
   libgui/qterminal/libqterminal.la \
@@ -120,10 +129,14 @@
 
 libgui_EXTRA_DIST += \
   $(TRANSLATIONS) \
-  libgui/default-qt-settings.in
+  libgui/default-qt-settings.in \
+  libgui/liboctgui-build-info.in.cc
 
 EXTRA_DIST += $(libgui_EXTRA_DIST)
 
+libgui_CLEANFILES += \
+  libgui/liboctgui-build-info.cc
+
 libgui_DISTCLEANFILES += \
   libgui/default-qt-settings \
   $(LOCALES)
@@ -140,4 +153,7 @@
 
 libgui-maintainer-clean: libgui-distclean
 	rm -f $(libgui_MAINTAINERCLEANFILES)
+
+libgui/liboctgui-build-info.cc: libgui/liboctgui-build-info.in.cc HG-ID | libgui/$(octave_dirstamp)
+	$(AM_V_GEN)$(build-info-commands)
 endif