mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-05 22:20:24 -08:00
Support out-of-tree builds
* mps/example/scheme/Makefile.in (VPATH): Set VPATH. * mps/Makefile.in (COMMON_OPTS): New. Pass SRCDIR down to sub-make. * mps/code/comm.gmk (VPATH): Set VPATH from SRCDIR parameter * mps/configure.ac (AC_CONFIG_COMMANDS): Copy .gmk makefiles and some other things to the biuld directory.
This commit is contained in:
parent
a97f6d888f
commit
1507199e35
4 changed files with 33 additions and 16 deletions
|
|
@ -23,11 +23,12 @@ MPS_BUILD_NAME=@MPS_BUILD_NAME@
|
|||
MPS_TARGET_NAME=$(MPS_OS_NAME)$(MPS_ARCH_NAME)$(MPS_BUILD_NAME)
|
||||
EXTRA_TARGETS=@EXTRA_TARGETS@
|
||||
prefix=$(DESTDIR)@prefix@
|
||||
srcdir=@srcdir@
|
||||
CC=@CC@
|
||||
CFLAGSCOMPILERSTRICT=-Wno-error -std=c89 -pedantic
|
||||
TARGET_OPTS=-C code -f $(MPS_TARGET_NAME).gmk \
|
||||
CC='$(CC)' \
|
||||
CFLAGSCOMPILERSTRICT='$(CFLAGSCOMPILERSTRICT)' \
|
||||
COMMON_OPTS=-C code SRCDIR=../$(srcdir)/code \
|
||||
CC='$(CC)' CFLAGSCOMPILERSTRICT='$(CFLAGSCOMPILERSTRICT)'
|
||||
TARGET_OPTS=$(COMMON_OPTS) -f $(MPS_TARGET_NAME).gmk \
|
||||
EXTRA_TARGETS="$(EXTRA_TARGETS)"
|
||||
XCODEBUILD=xcrun xcodebuild -project code/mps.xcodeproj
|
||||
|
||||
|
|
@ -41,7 +42,7 @@ clean-make-build:
|
|||
$(MAKE) $(TARGET_OPTS) clean
|
||||
|
||||
install-make-build: make-install-dirs build-via-make
|
||||
$(INSTALL_DATA) code/mps*.h $(prefix)/include/
|
||||
$(INSTALL_DATA) $(srcdir)/code/mps*.h $(prefix)/include/
|
||||
$(INSTALL_DATA) code/$(MPS_TARGET_NAME)/cool/mps.a $(prefix)/lib/libmps-debug.a
|
||||
$(INSTALL_DATA) code/$(MPS_TARGET_NAME)/hot/mps.a $(prefix)/lib/libmps.a
|
||||
for PROGRAM in $(EXTRA_TARGETS); do $(INSTALL_PROGRAM) code/$(MPS_TARGET_NAME)/hot/$$PROGRAM $(prefix)/bin/$$PROGRAM; done
|
||||
|
|
@ -60,15 +61,15 @@ install-xcode-build: make-install-dirs build-via-xcode
|
|||
$(INSTALL_DATA) code/xc/Release/libmps.a $(prefix)/lib/libmps.a
|
||||
for PROGRAM in $(EXTRA_TARGETS); do $(INSTALL_PROGRAM) code/xc/Release/$$PROGRAM $(prefix)/bin/$$PROGRAM; done
|
||||
|
||||
Makefile: Makefile.in config.status
|
||||
Makefile: $(srcdir)/Makefile.in config.status
|
||||
./config.status Makefile
|
||||
|
||||
clean: @CLEAN_TARGET@
|
||||
|
||||
config.status: configure
|
||||
config.status: $(srcdir)/configure
|
||||
|
||||
configure: configure.ac
|
||||
autoreconf -vif
|
||||
$(srcdir)/configure: $(srcdir)/configure.ac
|
||||
autoreconf -vif $(srcdir)
|
||||
|
||||
distclean: clean
|
||||
rm -rf autom4te.cache/ config.log config.status Makefile
|
||||
|
|
@ -82,14 +83,12 @@ install: @INSTALL_TARGET@
|
|||
|
||||
test-make-build:
|
||||
$(MAKE) $(TARGET_OPTS) testci testratio testscheme
|
||||
$(MAKE) -C code -f anan$(MPS_BUILD_NAME).gmk VARIETY=cool \
|
||||
CC='$(CC)' \
|
||||
CFLAGSCOMPILERSTRICT='$(CFLAGSCOMPILERSTRICT)' \
|
||||
$(MAKE) $(COMMON_OPTS) \
|
||||
-f anan$(MPS_BUILD_NAME).gmk VARIETY=cool \
|
||||
clean-testansi
|
||||
$(MAKE) -C code -f anan$(MPS_BUILD_NAME).gmk VARIETY=cool \
|
||||
CC='$(CC)' \
|
||||
$(MAKE) $(COMMON_OPTS) \
|
||||
-f anan$(MPS_BUILD_NAME).gmk VARIETY=cool \
|
||||
CFLAGS="-DCONFIG_POLL_NONE" \
|
||||
CFLAGSCOMPILERSTRICT='$(CFLAGSCOMPILERSTRICT)' \
|
||||
clean-testpollnone
|
||||
|
||||
test-xcode-build:
|
||||
|
|
|
|||
|
|
@ -69,6 +69,9 @@ ifndef CFLAGSOPT
|
|||
error "comm.gmk: CFLAGSOPT not defined"
|
||||
endif
|
||||
|
||||
ifdef SRCDIR
|
||||
VPATH=$(SRCDIR)
|
||||
endif
|
||||
|
||||
# TELEMETRY TARGETS
|
||||
|
||||
|
|
|
|||
|
|
@ -193,6 +193,20 @@ AC_SUBST(LDFLAGS)
|
|||
AC_SUBST(CPPFLAGS)
|
||||
AC_CONFIG_FILES(Makefile example/scheme/Makefile)
|
||||
|
||||
AC_CONFIG_COMMANDS(
|
||||
[gmk],
|
||||
[case $srcdir in
|
||||
.) # in-place build
|
||||
;;
|
||||
*) echo "copying .gmk files"
|
||||
(cd $srcdir &&
|
||||
cp --parents code/*.gmk \
|
||||
tool/testcases.txt tool/testrun.sh \
|
||||
example/scheme/*.scm \
|
||||
$ac_pwd)
|
||||
;;
|
||||
esac])
|
||||
|
||||
AC_OUTPUT
|
||||
|
||||
echo 1>&2 "CONFIGURE/MAKE IS NOT THE BEST WAY TO BUILD THE MPS
|
||||
|
|
|
|||
|
|
@ -4,7 +4,9 @@
|
|||
|
||||
CFLAGS = @CFLAGS@ @CPPFLAGS@ @LDFLAGS@ -std=c99
|
||||
|
||||
MPS = ../../code
|
||||
MPS = @srcdir@/../../code
|
||||
|
||||
VPATH = @srcdir@
|
||||
|
||||
TARGETS = scheme-malloc scheme scheme-advanced
|
||||
|
||||
|
|
@ -15,7 +17,6 @@ all: $(TARGETS)
|
|||
$(TARGETS): %: %.c Makefile
|
||||
$(CC) $(CFLAGS) -o $@ -I $(MPS) $< $(MPS)/mps.c
|
||||
|
||||
|
||||
scheme-boehm: %: %.c Makefile
|
||||
$(CC) $(CFLAGS) -o $@ $< -lgc
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue