cobol: libgcobol/Makefile.am cleanups

Message ID Z9Atr+RrADhtLfp/@tucnak
State New
Headers
Series cobol: libgcobol/Makefile.am cleanups |

Commit Message

Jakub Jelinek March 11, 2025, 12:33 p.m. UTC
  Hi!

Looking at libgcobol.la, I see a lot of cruft, stuff that just shouldn't
be there because automake generates it otherwise right, but also stuff
using undefined variables etc.
libgcobol.{a,so*} seems to build and install the same as before.

Ok for trunk?

Note, I stull see DT_RUNPATH in the installed libgcobol.so.1 before/after
this patch and I'd prefer not to see it, not seeing it in other libraries
like libstdc++.so.6 etc.  Dunno if that is because of the dependency on
libstdc++ (but e.g. libstdc++ has dependency on libgcc_s and doesn't do
that).

2025-03-11  Jakub Jelinek  <jakub@redhat.com>

	* Makefile.am: Remove tons of VAR = @VAR@ style lines.
	(libgcobol.la): Remove.
	(libgcobol_la_LFLAGS): Remove.
	(all): Remove.
	(.PHONY): Remove.
	(install): Remove.
	(%.lo: %.c): Remove.
	(doc): Remove.
	(install-html install-pdf install-info): Remove.
	* Makefile.in: Regenerate.


	Jakub
  

Comments

Richard Biener March 11, 2025, 1:14 p.m. UTC | #1
On Tue, 11 Mar 2025, Jakub Jelinek wrote:

> Hi!
> 
> Looking at libgcobol.la, I see a lot of cruft, stuff that just shouldn't
> be there because automake generates it otherwise right, but also stuff
> using undefined variables etc.
> libgcobol.{a,so*} seems to build and install the same as before.
> 
> Ok for trunk?

OK.

Thanks,
Richard.

> Note, I stull see DT_RUNPATH in the installed libgcobol.so.1 before/after
> this patch and I'd prefer not to see it, not seeing it in other libraries
> like libstdc++.so.6 etc.  Dunno if that is because of the dependency on
> libstdc++ (but e.g. libstdc++ has dependency on libgcc_s and doesn't do
> that).
> 
> 2025-03-11  Jakub Jelinek  <jakub@redhat.com>
> 
> 	* Makefile.am: Remove tons of VAR = @VAR@ style lines.
> 	(libgcobol.la): Remove.
> 	(libgcobol_la_LFLAGS): Remove.
> 	(all): Remove.
> 	(.PHONY): Remove.
> 	(install): Remove.
> 	(%.lo: %.c): Remove.
> 	(doc): Remove.
> 	(install-html install-pdf install-info): Remove.
> 	* Makefile.in: Regenerate.
> 
> --- libgcobol/Makefile.am.jj	2025-03-11 11:04:47.663453646 +0100
> +++ libgcobol/Makefile.am	2025-03-11 12:38:35.804566842 +0100
> @@ -24,15 +24,6 @@ ACLOCAL_AMFLAGS = -I .. -I ../config
>  
>  toolexeclib_LTLIBRARIES  = libgcobol.la
>  
> -libgcobol.la:   $(libgcobol_la_OBJECTS)			\
> -		$(libgcobol_la_DEPENDENCIES)		\
> -		$(EXTRA_libgcobol_la_DEPENDENCIES)
> -	$(AM_V_GEN)$(libgcobol_la_LINK)		\
> -		-rpath $(libdir)/../lib64	\
> -		$(libgcobol_la_OBJECTS)		\
> -		$(libgcobol_la_LIBADD) $(LIBS)
> -
> -
>  ##
>  ## 2.2.12 Automatic Dependency Tracking
>  ## Automake generates code for automatic dependency tracking by default
> @@ -47,72 +38,6 @@ libgcobol_la_SOURCES =				\
>  	libgcobol.cc				\
>  	valconv.cc
>  
> -#
> -# configure varables
> -#
> -
> -# Automatic
> -AM_CFLAGS = @CFLAGS@
> -configure_input = @configure_input@
> -AM_CPPFLAGS = @CPPFLAGS@
> -AM_CXXFLAGS = @CXXFLAGS@
> -DEFS = @DEFS@
> -ECHO_C = @ECHO_C@
> -ECHO_N = @ECHO_N@
> -ECHO_T = @ECHO_T@
> -ERLCFLAGS = @ERLCFLAGS@
> -FCFLAGS = @FCFLAGS@
> -FFLAGS = @FFLAGS@
> -AM_LDFLAGS = @LDFLAGS@
> -LIBS = @LIBS@
> -OBJCFLAGS = @OBJCFLAGS@
> -OBJCXXFLAGS = @OBJCXXFLAGS@
> -GOFLAGS = @GOFLAGS@
> -builddir = @builddir@
> -abs_builddir = @abs_builddir@
> -top_builddir = @top_builddir@
> -top_build_prefix = @top_build_prefix@
> -abs_top_builddir = @abs_top_builddir@
> -## srcdir see: overrides
> -abs_srcdir = @abs_srcdir@
> -top_srcdir = @top_srcdir@
> -abs_top_srcdir = @abs_top_srcdir@
> -
> -# Installation
> -bindir = @bindir@
> -datadir = @datadir@
> -datarootdir = @datarootdir@
> -docdir = @docdir@
> -dvidir = @dvidir@
> -exec_prefix = @exec_prefix@
> -htmldir = @htmldir@
> -includedir = @includedir@
> -infodir = @infodir@
> -libdir = @libdir@
> -libexecdir = @libexecdir@
> -localedir = @localedir@
> -localstatedir = @localstatedir@
> -mandir = @mandir@
> -oldincludedir = @oldincludedir@
> -pdfdir = @pdfdir@
> -prefix = @prefix@
> -psdir = @psdir@
> -sbindir = @sbindir@
> -sharedstatedir = @sharedstatedir@
> -sysconfdir = @sysconfdir@
> -
> -# Overrides and custom 
> -
> -CC = @CC@
> -CXX = @CXX@
> -AR = @AR@
> -AS = @AS@
> -RANLIB = @RANLIB@
> -LIBGCOBOL_VERSION = @LIBGCOBOL_VERSION@
> -VERSION_SUFFIX = @VERSION_SUFFIX@
> -LIBTOOL = @LIBTOOL@ $(LIBTOOLFLAGS)
> -
> -libgcobol_la_LFLAGS = -lstdc++
>  libgcobol_la_LINK = $(LIBTOOL) --mode=link --tag=CXX $(CXX)	\
>  		-o libgcobol$(libsuffix).la			\
>  		-Wc,-shared-libgcc				\
> @@ -120,16 +45,6 @@ libgcobol_la_LINK = $(LIBTOOL) --mode=li
>  		-lstdc++					\
>  		$(LTLDFLAGS)
>  
> -# The 'all' rule must be the first one so that it is executed if
> -# nothing is specified on the command-line.
> -all: $(LIBGCOBOL_LA)
> -
> -.PHONY: install install-html install-pdf install-info
> -
> -###include $(top_srcdir)/../multilib.am
> -install: libgcobol$(libsuffix).la
> -	$(LIBTOOL) --mode=install $(INSTALL) $^ $(DESTDIR)$(libdir)/../lib64
> -
>  WARN_CFLAGS = -W -Wall -Wwrite-strings
>  
>  # not defined: DEFS, MAX_ERRORS, LTLDFLAGS
> @@ -137,16 +52,6 @@ ALL_CFLAGS = -I. -I$(srcdir) $(AM_CPPFLA
>  	$(XCFLAGS) $(AM_CXXFLAGS) $(WARN_CFLAGS) $(MAX_ERRORS)	\
>  	-DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing
>  
> -%.lo: %.c
> -	$(LIBTOOL) --mode=compile  $(CC) -c		\
> -		-o $@ $(ALL_CFLAGS) $(INCLUDES) $<
> -
>  %.lo: %.cc
>  	$(LIBTOOL) --mode=compile --tag=CXX $(CXX) -c	\
>  		-o $@ $(INCLUDES) $(ALL_CFLAGS) $<
> -
> -doc: info dvi pdf html
> -
> -# No install-html or install-pdf support
> -install-html install-pdf install-info:
> -
> --- libgcobol/Makefile.in.jj	2025-03-11 11:04:47.663453646 +0100
> +++ libgcobol/Makefile.in	2025-03-11 12:39:00.455229217 +0100
> @@ -266,8 +266,6 @@ AUTOCONF = @AUTOCONF@
>  AUTOHEADER = @AUTOHEADER@
>  AUTOMAKE = @AUTOMAKE@
>  AWK = @AWK@
> -
> -# Overrides and custom 
>  CC = @CC@
>  CCAS = @CCAS@
>  CCASDEPMODE = @CCASDEPMODE@
> @@ -303,7 +301,7 @@ LDFLAGS = @LDFLAGS@
>  LIBGCOBOL_VERSION = @LIBGCOBOL_VERSION@
>  LIBOBJS = @LIBOBJS@
>  LIBS = @LIBS@
> -LIBTOOL = @LIBTOOL@ $(LIBTOOLFLAGS)
> +LIBTOOL = @LIBTOOL@
>  LIPO = @LIPO@
>  LN_S = @LN_S@
>  LTLIBOBJS = @LTLIBOBJS@
> @@ -344,8 +342,6 @@ am__leading_dot = @am__leading_dot@
>  am__quote = @am__quote@
>  am__tar = @am__tar@
>  am__untar = @am__untar@
> -
> -# Installation
>  bindir = @bindir@
>  build = @build@
>  build_alias = @build_alias@
> @@ -417,25 +413,6 @@ libgcobol_la_SOURCES = \
>  	libgcobol.cc				\
>  	valconv.cc
>  
> -
> -#
> -# configure varables
> -#
> -
> -# Automatic
> -AM_CFLAGS = @CFLAGS@
> -configure_input = @configure_input@
> -AM_CPPFLAGS = @CPPFLAGS@
> -AM_CXXFLAGS = @CXXFLAGS@
> -ERLCFLAGS = @ERLCFLAGS@
> -FCFLAGS = @FCFLAGS@
> -FFLAGS = @FFLAGS@
> -AM_LDFLAGS = @LDFLAGS@
> -OBJCFLAGS = @OBJCFLAGS@
> -OBJCXXFLAGS = @OBJCXXFLAGS@
> -GOFLAGS = @GOFLAGS@
> -AS = @AS@
> -libgcobol_la_LFLAGS = -lstdc++
>  libgcobol_la_LINK = $(LIBTOOL) --mode=link --tag=CXX $(CXX)	\
>  		-o libgcobol$(libsuffix).la			\
>  		-Wc,-shared-libgcc				\
> @@ -539,6 +516,9 @@ clean-toolexeclibLTLIBRARIES:
>  	  rm -f $${locs}; \
>  	}
>  
> +libgcobol.la: $(libgcobol_la_OBJECTS) $(libgcobol_la_DEPENDENCIES) $(EXTRA_libgcobol_la_DEPENDENCIES) 
> +	$(AM_V_GEN)$(libgcobol_la_LINK) -rpath $(toolexeclibdir) $(libgcobol_la_OBJECTS) $(libgcobol_la_LIBADD) $(LIBS)
> +
>  mostlyclean-compile:
>  	-rm -f *.$(OBJEXT)
>  
> @@ -813,6 +793,7 @@ installdirs:
>  	for dir in "$(DESTDIR)$(toolexeclibdir)"; do \
>  	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
>  	done
> +install: install-am
>  install-exec: install-exec-am
>  install-data: install-data-am
>  uninstall: uninstall-am
> @@ -940,37 +921,10 @@ uninstall-am: uninstall-toolexeclibLTLIB
>  .PRECIOUS: Makefile
>  
>  
> -libgcobol.la:   $(libgcobol_la_OBJECTS)			\
> -		$(libgcobol_la_DEPENDENCIES)		\
> -		$(EXTRA_libgcobol_la_DEPENDENCIES)
> -	$(AM_V_GEN)$(libgcobol_la_LINK)		\
> -		-rpath $(libdir)/../lib64	\
> -		$(libgcobol_la_OBJECTS)		\
> -		$(libgcobol_la_LIBADD) $(LIBS)
> -
> -# The 'all' rule must be the first one so that it is executed if
> -# nothing is specified on the command-line.
> -all: $(LIBGCOBOL_LA)
> -
> -.PHONY: install install-html install-pdf install-info
> -
> -###include $(top_srcdir)/../multilib.am
> -install: libgcobol$(libsuffix).la
> -	$(LIBTOOL) --mode=install $(INSTALL) $^ $(DESTDIR)$(libdir)/../lib64
> -
> -%.lo: %.c
> -	$(LIBTOOL) --mode=compile  $(CC) -c		\
> -		-o $@ $(ALL_CFLAGS) $(INCLUDES) $<
> -
>  %.lo: %.cc
>  	$(LIBTOOL) --mode=compile --tag=CXX $(CXX) -c	\
>  		-o $@ $(INCLUDES) $(ALL_CFLAGS) $<
>  
> -doc: info dvi pdf html
> -
> -# No install-html or install-pdf support
> -install-html install-pdf install-info:
> -
>  # Tell versions [3.59,3.63) of GNU make to not export all variables.
>  # Otherwise a system limit (for SysV at least) may be exceeded.
>  .NOEXPORT:
> 
> 	Jakub
> 
>
  

Patch

--- libgcobol/Makefile.am.jj	2025-03-11 11:04:47.663453646 +0100
+++ libgcobol/Makefile.am	2025-03-11 12:38:35.804566842 +0100
@@ -24,15 +24,6 @@  ACLOCAL_AMFLAGS = -I .. -I ../config
 
 toolexeclib_LTLIBRARIES  = libgcobol.la
 
-libgcobol.la:   $(libgcobol_la_OBJECTS)			\
-		$(libgcobol_la_DEPENDENCIES)		\
-		$(EXTRA_libgcobol_la_DEPENDENCIES)
-	$(AM_V_GEN)$(libgcobol_la_LINK)		\
-		-rpath $(libdir)/../lib64	\
-		$(libgcobol_la_OBJECTS)		\
-		$(libgcobol_la_LIBADD) $(LIBS)
-
-
 ##
 ## 2.2.12 Automatic Dependency Tracking
 ## Automake generates code for automatic dependency tracking by default
@@ -47,72 +38,6 @@  libgcobol_la_SOURCES =				\
 	libgcobol.cc				\
 	valconv.cc
 
-#
-# configure varables
-#
-
-# Automatic
-AM_CFLAGS = @CFLAGS@
-configure_input = @configure_input@
-AM_CPPFLAGS = @CPPFLAGS@
-AM_CXXFLAGS = @CXXFLAGS@
-DEFS = @DEFS@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-ERLCFLAGS = @ERLCFLAGS@
-FCFLAGS = @FCFLAGS@
-FFLAGS = @FFLAGS@
-AM_LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
-OBJCFLAGS = @OBJCFLAGS@
-OBJCXXFLAGS = @OBJCXXFLAGS@
-GOFLAGS = @GOFLAGS@
-builddir = @builddir@
-abs_builddir = @abs_builddir@
-top_builddir = @top_builddir@
-top_build_prefix = @top_build_prefix@
-abs_top_builddir = @abs_top_builddir@
-## srcdir see: overrides
-abs_srcdir = @abs_srcdir@
-top_srcdir = @top_srcdir@
-abs_top_srcdir = @abs_top_srcdir@
-
-# Installation
-bindir = @bindir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-
-# Overrides and custom 
-
-CC = @CC@
-CXX = @CXX@
-AR = @AR@
-AS = @AS@
-RANLIB = @RANLIB@
-LIBGCOBOL_VERSION = @LIBGCOBOL_VERSION@
-VERSION_SUFFIX = @VERSION_SUFFIX@
-LIBTOOL = @LIBTOOL@ $(LIBTOOLFLAGS)
-
-libgcobol_la_LFLAGS = -lstdc++
 libgcobol_la_LINK = $(LIBTOOL) --mode=link --tag=CXX $(CXX)	\
 		-o libgcobol$(libsuffix).la			\
 		-Wc,-shared-libgcc				\
@@ -120,16 +45,6 @@  libgcobol_la_LINK = $(LIBTOOL) --mode=li
 		-lstdc++					\
 		$(LTLDFLAGS)
 
-# The 'all' rule must be the first one so that it is executed if
-# nothing is specified on the command-line.
-all: $(LIBGCOBOL_LA)
-
-.PHONY: install install-html install-pdf install-info
-
-###include $(top_srcdir)/../multilib.am
-install: libgcobol$(libsuffix).la
-	$(LIBTOOL) --mode=install $(INSTALL) $^ $(DESTDIR)$(libdir)/../lib64
-
 WARN_CFLAGS = -W -Wall -Wwrite-strings
 
 # not defined: DEFS, MAX_ERRORS, LTLDFLAGS
@@ -137,16 +52,6 @@  ALL_CFLAGS = -I. -I$(srcdir) $(AM_CPPFLA
 	$(XCFLAGS) $(AM_CXXFLAGS) $(WARN_CFLAGS) $(MAX_ERRORS)	\
 	-DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing
 
-%.lo: %.c
-	$(LIBTOOL) --mode=compile  $(CC) -c		\
-		-o $@ $(ALL_CFLAGS) $(INCLUDES) $<
-
 %.lo: %.cc
 	$(LIBTOOL) --mode=compile --tag=CXX $(CXX) -c	\
 		-o $@ $(INCLUDES) $(ALL_CFLAGS) $<
-
-doc: info dvi pdf html
-
-# No install-html or install-pdf support
-install-html install-pdf install-info:
-
--- libgcobol/Makefile.in.jj	2025-03-11 11:04:47.663453646 +0100
+++ libgcobol/Makefile.in	2025-03-11 12:39:00.455229217 +0100
@@ -266,8 +266,6 @@  AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
 AWK = @AWK@
-
-# Overrides and custom 
 CC = @CC@
 CCAS = @CCAS@
 CCASDEPMODE = @CCASDEPMODE@
@@ -303,7 +301,7 @@  LDFLAGS = @LDFLAGS@
 LIBGCOBOL_VERSION = @LIBGCOBOL_VERSION@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@ $(LIBTOOLFLAGS)
+LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
@@ -344,8 +342,6 @@  am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
 am__tar = @am__tar@
 am__untar = @am__untar@
-
-# Installation
 bindir = @bindir@
 build = @build@
 build_alias = @build_alias@
@@ -417,25 +413,6 @@  libgcobol_la_SOURCES = \
 	libgcobol.cc				\
 	valconv.cc
 
-
-#
-# configure varables
-#
-
-# Automatic
-AM_CFLAGS = @CFLAGS@
-configure_input = @configure_input@
-AM_CPPFLAGS = @CPPFLAGS@
-AM_CXXFLAGS = @CXXFLAGS@
-ERLCFLAGS = @ERLCFLAGS@
-FCFLAGS = @FCFLAGS@
-FFLAGS = @FFLAGS@
-AM_LDFLAGS = @LDFLAGS@
-OBJCFLAGS = @OBJCFLAGS@
-OBJCXXFLAGS = @OBJCXXFLAGS@
-GOFLAGS = @GOFLAGS@
-AS = @AS@
-libgcobol_la_LFLAGS = -lstdc++
 libgcobol_la_LINK = $(LIBTOOL) --mode=link --tag=CXX $(CXX)	\
 		-o libgcobol$(libsuffix).la			\
 		-Wc,-shared-libgcc				\
@@ -539,6 +516,9 @@  clean-toolexeclibLTLIBRARIES:
 	  rm -f $${locs}; \
 	}
 
+libgcobol.la: $(libgcobol_la_OBJECTS) $(libgcobol_la_DEPENDENCIES) $(EXTRA_libgcobol_la_DEPENDENCIES) 
+	$(AM_V_GEN)$(libgcobol_la_LINK) -rpath $(toolexeclibdir) $(libgcobol_la_OBJECTS) $(libgcobol_la_LIBADD) $(LIBS)
+
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
 
@@ -813,6 +793,7 @@  installdirs:
 	for dir in "$(DESTDIR)$(toolexeclibdir)"; do \
 	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
 	done
+install: install-am
 install-exec: install-exec-am
 install-data: install-data-am
 uninstall: uninstall-am
@@ -940,37 +921,10 @@  uninstall-am: uninstall-toolexeclibLTLIB
 .PRECIOUS: Makefile
 
 
-libgcobol.la:   $(libgcobol_la_OBJECTS)			\
-		$(libgcobol_la_DEPENDENCIES)		\
-		$(EXTRA_libgcobol_la_DEPENDENCIES)
-	$(AM_V_GEN)$(libgcobol_la_LINK)		\
-		-rpath $(libdir)/../lib64	\
-		$(libgcobol_la_OBJECTS)		\
-		$(libgcobol_la_LIBADD) $(LIBS)
-
-# The 'all' rule must be the first one so that it is executed if
-# nothing is specified on the command-line.
-all: $(LIBGCOBOL_LA)
-
-.PHONY: install install-html install-pdf install-info
-
-###include $(top_srcdir)/../multilib.am
-install: libgcobol$(libsuffix).la
-	$(LIBTOOL) --mode=install $(INSTALL) $^ $(DESTDIR)$(libdir)/../lib64
-
-%.lo: %.c
-	$(LIBTOOL) --mode=compile  $(CC) -c		\
-		-o $@ $(ALL_CFLAGS) $(INCLUDES) $<
-
 %.lo: %.cc
 	$(LIBTOOL) --mode=compile --tag=CXX $(CXX) -c	\
 		-o $@ $(INCLUDES) $(ALL_CFLAGS) $<
 
-doc: info dvi pdf html
-
-# No install-html or install-pdf support
-install-html install-pdf install-info:
-
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT: