mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-26 07:33:47 +00:00
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.
This commit is contained in:
parent
909dfaf325
commit
c90a97adc4
1
.gitignore
vendored
1
.gitignore
vendored
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -183,7 +183,7 @@ test_module_name := mod-test@MODULES_SUFFIX@
|
||||
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) SO=@MODULES_SUFFIX@
|
||||
$(MAKE) -C $(test_module_dir) $(test_module_name)
|
||||
endif
|
||||
|
||||
## Check that there is no 'automated' subdirectory, which would
|
||||
|
@ -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]
|
Loading…
Reference in New Issue
Block a user