changeset 10986:20bb05b9fb3f

makefile rules for compiled auxiliary programs
author John W. Eaton <jwe@octave.org>
date Thu, 16 Sep 2010 06:30:15 -0400
parents 165e7e79b82c
children eec74ee00b32
files ChangeLog Makefile.am configure.ac
diffstat 3 files changed, 87 insertions(+), 51 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu Sep 16 02:56:35 2010 -0400
+++ b/ChangeLog	Thu Sep 16 06:30:15 2010 -0400
@@ -1,3 +1,25 @@
+2010-09-16  John W. Eaton  <jwe@octave.org>
+
+	* configure.ac (SCRIPTS_EXE_SUFFIX) Delete variable and all uses.
+	(BUILD_COMPILED_AUX_PROGRAMS): New variable.
+	(AMCOND_BUILD_COMPILED_AUX_PROGRAMS): New Automake conditional.
+	* Makefile.am (SCRIPTS_EXE_SUFFIX, BUILT_SHELL_FILES): Delete
+	variables and all uses.
+	(bin_SCRIPTS, bin_PROGRAMS, mkoctfile_SOURCES,
+	nodist_mkoctfile_SOURCES, octave_config_SOURCES,
+	nodist_octave_config_SOURCES, octave_bug_SOURCES,
+	nodist_octave_bug_SOURCES, BUILT_SOURCES): Define conditionally
+	based on AMCOND_BUILD_COMPILED_AUX_PROGRAMS.
+	(noinst_SCRIPTS): New variable.
+	(CLEANFILES): Include $(bin_PROGRAMS) $(bin_SCRIPTS)
+	$(BUILT_SOURCES) in the list.
+	(all-local): Also depend on $(bin_PROGRAMS) and $(noinst_SCRIPTS).
+	(octave-bug.cc, octave-config.cc, mkoctfile.cc, octave-bug)
+	(octave-config, mkoctfile): Make rules conditional on
+	AMCOND_BUILD_COMPILED_AUX_PROGRAMS.
+	(make-version-links, remove-version-links): Define different
+	rules conditional on AMCOND_BUILD_COMPILED_AUX_PROGRAMS.
+
 2010-09-13  Jaroslav Hajek  <highegg@gmail.com>
 
 	* NEWS: Update.
--- a/Makefile.am	Thu Sep 16 02:56:35 2010 -0400
+++ b/Makefile.am	Thu Sep 16 06:30:15 2010 -0400
@@ -27,8 +27,6 @@
 
 ACLOCAL_AMFLAGS = -I m4
 
-SCRIPTS_EXE_SUFFIX = @SCRIPTS_EXE_SUFFIX@
-
 BUILT_DISTFILES = BUGS INSTALL.OCTAVE
 
 EXTRA_DIST = \
@@ -77,32 +75,49 @@
 	echo "Documentation disabled.  Cannot package distribution!" ; exit 1;
 endif
 
-BUILT_SHELL_FILES = \
-  mkoctfile$(SCRIPTS_EXE_SUFFIX) \
-  octave-config$(SCRIPTS_EXE_SUFFIX) \
-  octave-bug$(SCRIPTS_EXE_SUFFIX) \
+if AMCOND_BUILD_COMPILED_AUX_PROGRAMS
+bin_PROGRAMS = \
+  mkoctfile \
+  octave-config \
+  octave-bug
+
+mkoctfile_SOURCES =
+nodist_mkoctfile_SOURCES = mkoctfile.cc
+
+octave_config_SOURCES =
+nodist_octave_config_SOURCES = octave-config.cc
+
+octave_bug_SOURCES =
+nodist_octave_bug_SOURCES = octave-bug.cc
+
+BUILT_SOURCES = \
+  mkoctfile.cc \
+  octave-config.cc \
+  octave-bug.cc
+
+else
+bin_SCRIPTS = \
+  mkoctfile \
+  octave-config \
+  octave-bug \
   run-octave
+endif
 
-bin_SCRIPTS = \
-  mkoctfile$(SCRIPTS_EXE_SUFFIX) \
-  octave-config$(SCRIPTS_EXE_SUFFIX) \
-  octave-bug$(SCRIPTS_EXE_SUFFIX)
+noinst_SCRIPTS = run-octave
 
 INFO_FILES = \
   INSTALL.OCTAVE \
   BUGS
 
-CLEANFILES = $(BUILT_SHELL_FILES)
+CLEANFILES = $(bin_PROGRAMS) $(bin_SCRIPTS) $(BUILT_SOURCES)
 
 DISTCLEANFILES = $(INFO_FILES) .gdbinit 
 
 CONFIG_FILES = @ac_config_headers@ @ac_config_files@
 
-BUILT_SOURCES = run-octave
-
 nodist_octinclude_HEADERS = config.h
 
-all-local: $(bin_SCRIPTS) $(INFO_FILES) .gdbinit
+all-local: $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_SCRIPTS) $(INFO_FILES) .gdbinit
 	@echo ""
 	@echo "Octave successfully built.  Now choose from the following:"
 	@echo ""
@@ -111,44 +126,28 @@
 	@echo "   make install    - to install (PREFIX=$(prefix))"
 	@echo ""
 
+if AMCOND_BUILD_COMPILED_AUX_PROGRAMS
+octave-bug.cc: octave-bug.cc.in Makefile
+	@$(do_subst_config_vals)
+
+octave-config.cc: octave-config.cc.in Makefile
+	@$(do_subst_default_vals)
+
+mkoctfile.cc: mkoctfile.cc.in Makefile
+	@$(do_subst_config_vals)
+else
 octave-bug: octave-bug.in Makefile
 	@$(do_subst_config_vals)
 	chmod a+rx $@
 
-octave-bug.cc: octave-bug.cc.in Makefile
-	@$(do_subst_config_vals)
-
-# ifneq ($(EXEEXT),)
-# octave-bug$(EXEEXT): octave-bug.o
-# 	$(LD_CXX) $(CPPFLAGS) $(ALL_CXXFLAGS) $(RDYNAMIC_FLAG) \
-# 	    $(ALL_LDFLAGS) -o $@ octave-bug.o
-# endif
-
 octave-config: octave-config.in Makefile
 	@$(do_subst_default_vals)
 	chmod a+rx $@
 
-octave-config.cc: octave-config.cc.in Makefile
-	@$(do_subst_default_vals)
-
-# ifneq ($(EXEEXT),)
-# octave-config$(EXEEXT): octave-config.o
-# 	$(LD_CXX) $(CPPFLAGS) $(ALL_CXXFLAGS) $(RDYNAMIC_FLAG) \
-# 	    $(ALL_LDFLAGS) -o $@ octave-config.o
-# endif
-
 mkoctfile: mkoctfile.in Makefile
 	@$(do_subst_config_vals)
 	chmod a+rx $@
-
-mkoctfile.cc: mkoctfile.cc.in Makefile
-	@$(do_subst_config_vals)
-
-# ifneq ($(EXEEXT),)
-# mkoctfile$(EXEEXT): mkoctfile.o
-# 	$(LD_CXX) $(CPPFLAGS) $(ALL_CXXFLAGS) $(RDYNAMIC_FLAG) \
-# 	    $(ALL_LDFLAGS) -o $@ mkoctfile.o
-# endif
+endif
 
 run-octave: run-octave.in Makefile
 	@$(do_subst_script_vals)
@@ -187,17 +186,31 @@
 
 uninstall-local: remove-version-links
 
+if AMCOND_BUILD_COMPILED_AUX_PROGRAMS
+make-version-links:
+	cd $(DESTDIR)$(bindir) && \
+	for f in $(basename $(bin_PROGRAMS)); do \
+	  mv $$f$(EXEEXT) $$f-$(version)$(EXEEXT) && \
+	    $(LN_S) $$f-$(version)$(EXEEXT) $$f$(EXEEXT); \
+	done
+
+remove-version-links:
+	for f in $(basename $(bin_PROGRAMS)); do \
+	  rm -f $(DESTDIR)$(bindir)/$$f-$(version)$(EXEEXT); \
+	done
+else
 make-version-links:
 	cd $(DESTDIR)$(bindir) && \
 	for f in $(basename $(bin_SCRIPTS)); do \
-	  mv $$f$(SCRIPTS_EXE_SUFFIX) $$f-$(version)$(SCRIPTS_EXE_SUFFIX) && \
-	    $(LN_S) $$f-$(version)$(SCRIPTS_EXE_SUFFIX) $$f$(SCRIPTS_EXE_SUFFIX); \
+	  mv $$f $$f-$(version) && \
+	    $(LN_S) $$f-$(version) $$f; \
 	done
-.PHONY: make-version-links
 
 remove-version-links:
 	for f in $(basename $(bin_SCRIPTS)); do \
-	  rm -f $(DESTDIR)$(bindir)/$$f-$(version)$(SCRIPTS_EXE_SUFFIX); \
+	  rm -f $(DESTDIR)$(bindir)/$$f-$(version); \
 	done
-.PHONY: remove-version-links
+endif
 
+.PHONY: make-version-links remove-version-links
+
--- a/configure.ac	Thu Sep 16 02:56:35 2010 -0400
+++ b/configure.ac	Thu Sep 16 06:30:15 2010 -0400
@@ -1151,7 +1151,7 @@
 OCTGRAPHICS_DLL_DEFS=
 library_path_var=LD_LIBRARY_PATH
 ldpreloadsep=" "
-SCRIPTS_EXE_SUFFIX=
+BUILD_COMPILED_AUX_PROGRAMS=false
 case "$canonical_host_type" in
   *-*-386bsd* | *-*-netbsd*)
     SH_LD=ld
@@ -1206,6 +1206,7 @@
     ldpreloadsep=":"
   ;;
   *-*-mingw*)
+    BUILD_COMPILED_AUX_PROGRAMS=true
     if test "$have_msvc" = "yes"; then
       DL_LDFLAGS="-shared"
       CPICFLAG=
@@ -1231,7 +1232,6 @@
       OCTAVE_DLL_DEFS="-DOCTAVE_DLL"
       OCTINTERP_DLL_DEFS="-DOCTINTERP_DLL"
       OCTGRAPHICS_DLL_DEFS="-DOCTGRAPHICS_DLL"
-      SCRIPTS_EXE_SUFFIX='$(EXEEXT)'
     else
       CPICFLAG=
       CXXPICFLAG=
@@ -1243,11 +1243,11 @@
       SH_LDFLAGS="-shared -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--enable-auto-image-base"
       SONAME_FLAGS='-Wl,--out-implib=$@.a'
       library_path_var=PATH
-      SCRIPTS_EXE_SUFFIX='$(EXEEXT)'
     fi
   ;;
 
   *-*-msdosmsvc)
+    BUILD_COMPILED_AUX_PROGRAMS=true
     DL_LDFLAGS="-shared"
     CPICFLAG=
     CXXPICFLAG=
@@ -1272,7 +1272,6 @@
     OCTAVE_DLL_DEFS="-DOCTAVE_DLL"
     OCTINTERP_DLL_DEFS="-DOCTINTERP_DLL"
     OCTGRAPHICS_DLL_DEFS="-DOCTGRAPHICS_DLL"
-    SCRIPTS_EXE_SUFFIX='$(EXEEXT)'
   ;;
   *-*-linux* | *-*-gnu*)
     MKOCTFILE_DL_LDFLAGS="-shared -Wl,-Bsymbolic"
@@ -1355,6 +1354,9 @@
   ;;
 esac
 
+AM_CONDITIONAL([AMCOND_BUILD_COMPILED_AUX_PROGRAMS],
+  [test x$BUILD_COMPILED_AUX_PROGRAMS = xtrue])
+
 if $use_rpath; then
   if test -n "$enable_rpath_arg"; then
     RLD_FLAG="$enable_rpath_arg"
@@ -1422,7 +1424,6 @@
 AC_SUBST(OCTGRAPHICS_DLL_DEFS)
 AC_SUBST(library_path_var)
 AC_SUBST(ldpreloadsep)
-AC_SUBST(SCRIPTS_EXE_SUFFIX)
 
 ### special checks for odd OS specific things.