emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master c90a97a: Use Autoconf to generate the test module M


From: Philipp Stephani
Subject: [Emacs-diffs] master c90a97a: Use Autoconf to generate the test module Makefile
Date: Mon, 12 Jun 2017 10:11:13 -0400 (EDT)

branch: master
commit c90a97adc49e844d884a4422e99570526fd92485
Author: Philipp Stephani <address@hidden>
Commit: Philipp Stephani <address@hidden>

    Use Autoconf to generate the test module Makefile
    
    This makes it easier to pass compilation flags around.
    
    * configure.ac: Also build test module Makefile.
    
    * test/data/emacs-module/Makefile.in: New makefile template.
    
    * test/Makefile.in ($(test_module)): No longer necessary to pass
    @MODULES_SUFFIX@ around.
    
    * .gitignore: Test module Makefile can now be ignored.
---
 .gitignore                                       |  1 -
 configure.ac                                     |  4 ++--
 test/Makefile.in                                 |  2 +-
 test/data/emacs-module/{Makefile => Makefile.in} | 25 ++++++++++++++----------
 4 files changed, 18 insertions(+), 14 deletions(-)

diff --git a/.gitignore b/.gitignore
index 6dd2112..1abefeb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -34,7 +34,6 @@ InfoPlist.strings
 Makefile
 makefile
 !etc/refcards/Makefile
-!test/data/emacs-module/Makefile
 !test/lisp/progmodes/flymake-resources/Makefile
 !test/manual/etags/Makefile
 !test/manual/etags/make-src/Makefile
diff --git a/configure.ac b/configure.ac
index 164454d..b4faf8e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5448,10 +5448,10 @@ dnl test/ is not present in release tarfiles.
 opt_makefile=test/Makefile
 
 if test -f "$srcdir/$opt_makefile.in"; then
-  SUBDIR_MAKEFILES="$SUBDIR_MAKEFILES $opt_makefile"
+  SUBDIR_MAKEFILES="$SUBDIR_MAKEFILES $opt_makefile 
test/data/emacs-module/Makefile"
   dnl Again, it's best not to use a variable.  Though you can add
   dnl ", [], [opt_makefile='$opt_makefile']" and it should work.
-  AC_CONFIG_FILES([test/Makefile])
+  AC_CONFIG_FILES([test/Makefile test/data/emacs-module/Makefile])
 fi
 
 
diff --git a/test/Makefile.in b/test/Makefile.in
index 0c24c48..13c0ac1 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -183,7 +183,7 @@ test_module_name := address@hidden@
 test_module := $(test_module_dir)/$(test_module_name)
 $(srcdir)/src/emacs-module-tests.log: $(test_module)
 $(test_module): $(srcdir)/../src/emacs-module.[ch] 
$(test_module_dir)/mod-test.c
-       $(MAKE) -C $(test_module_dir) $(test_module_name) address@hidden@
+       $(MAKE) -C $(test_module_dir) $(test_module_name)
 endif
 
 ## Check that there is no 'automated' subdirectory, which would
diff --git a/test/data/emacs-module/Makefile 
b/test/data/emacs-module/Makefile.in
similarity index 72%
rename from test/data/emacs-module/Makefile
rename to test/data/emacs-module/Makefile.in
index bfeddb0..427d1aa 100644
--- a/test/data/emacs-module/Makefile
+++ b/test/data/emacs-module/Makefile.in
@@ -1,3 +1,5 @@
+### @configure_input@
+
 # Test GNU Emacs modules.
 
 # Copyright 2015-2017 Free Software Foundation, Inc.
@@ -17,25 +19,28 @@
 # You should have received a copy of the GNU General Public License
 # along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 
-ROOT = ../../..
+SHELL = @SHELL@
 
-CC      = gcc
-LD      = gcc
-LDFLAGS =
+top_srcdir = @top_srcdir@
+VPATH = $(srcdir)
+CC = @CC@
+CFLAGS = @CFLAGS@
+CPPFLAGS = @CPPFLAGS@
+SO = @MODULES_SUFFIX@
 
-# On MS-Windows, say "make SO=.dll" to build the module
-SO      = .so
 # -fPIC is a no-op on Windows, but causes a compiler warning
 ifeq ($(SO),.dll)
-CFLAGS  = -std=c11 -ggdb3 -Wall
+FPIC_CFLAGS =
 else
-CFLAGS  = -std=c11 -ggdb3 -Wall -fPIC
+FPIC_CFLAGS = -fPIC
 endif
 
 all: mod-test$(SO)
 
 %$(SO): %.o
-       $(LD) -shared $(LDFLAGS) -o $@ $<
+       $(CC) -shared $(LDFLAGS) -o $@ $<
 
 %.o: %.c
-       $(CC) $(CFLAGS) -I$(ROOT)/src -c $<
+       $(CC) $(CPPFLAGS) $(CFLAGS) $(FPIC_CFLAGS) -I$(top_srcdir)/src -c -o $@ 
$<
+
+%.o: $(srcdir)/emacs-module.[ch]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]