emacs/mps/Makefile.in
Helmut Eller 1507199e35 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.
2025-09-22 16:56:02 +02:00

127 lines
4.3 KiB
Makefile

# Makefile.in -- source for autoconf Makefile
#
# $Id$
# Copyright (C) 2012-2023 Ravenbrook Limited. See end of file for license.
#
# YOU DON'T NEED AUTOCONF TO BUILD THE MPS
# This is just here for people who want or expect a configure script.
# See [Building the Memory Pool System](manual/build.txt) for how best
# to build and integrate the MPS.
#
# THIS IS NOT A GNU MAKEFILE
# This makefile be compatible with the default make on every (Posix)
# target platform, e.g. BSD make.
#
INSTALL=@INSTALL@
INSTALL_DATA=@INSTALL_DATA@
INSTALL_PROGRAM=@INSTALL_PROGRAM@
MAKE=@MAKE@
MPS_OS_NAME=@MPS_OS_NAME@
MPS_ARCH_NAME=@MPS_ARCH_NAME@
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
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
all: @BUILD_TARGET@
build-via-make:
$(MAKE) $(TARGET_OPTS) VARIETY=cool
$(MAKE) $(TARGET_OPTS) VARIETY=hot
clean-make-build:
$(MAKE) $(TARGET_OPTS) clean
install-make-build: make-install-dirs build-via-make
$(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
build-via-xcode:
$(XCODEBUILD) -config Debug
$(XCODEBUILD) -config Release
clean-xcode-build:
$(XCODEBUILD) -config Debug clean
$(XCODEBUILD) -config Release clean
install-xcode-build: make-install-dirs build-via-xcode
$(INSTALL_DATA) code/mps*.h $(prefix)/include/
$(INSTALL_DATA) code/xc/Debug/libmps.a $(prefix)/lib/libmps-debug.a
$(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: $(srcdir)/Makefile.in config.status
./config.status Makefile
clean: @CLEAN_TARGET@
config.status: $(srcdir)/configure
$(srcdir)/configure: $(srcdir)/configure.ac
autoreconf -vif $(srcdir)
distclean: clean
rm -rf autom4te.cache/ config.log config.status Makefile
make-install-dirs:
mkdir -p $(prefix)/bin
mkdir -p $(prefix)/lib
mkdir -p $(prefix)/include
install: @INSTALL_TARGET@
test-make-build:
$(MAKE) $(TARGET_OPTS) testci testratio testscheme
$(MAKE) $(COMMON_OPTS) \
-f anan$(MPS_BUILD_NAME).gmk VARIETY=cool \
clean-testansi
$(MAKE) $(COMMON_OPTS) \
-f anan$(MPS_BUILD_NAME).gmk VARIETY=cool \
CFLAGS="-DCONFIG_POLL_NONE" \
clean-testpollnone
test-xcode-build:
$(XCODEBUILD) -config Debug -target testci
$(XCODEBUILD) -config Release -target testci
test: @TEST_TARGET@
# C. COPYRIGHT AND LICENSE
#
# Copyright (C) 2012-2020 Ravenbrook Limited <https://www.ravenbrook.com/>.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the
# distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
# IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
# PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.