mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-25 15:00:45 -08:00
291 lines
8.3 KiB
Text
291 lines
8.3 KiB
Text
#
|
|
# Makefile for CORE RIP MPS subsystem
|
|
#
|
|
# $HopeName: SWmps!make:makefile.jam(trunk.11) $
|
|
#
|
|
|
|
# Variant details come before compilation rules
|
|
|
|
RequiresVariant warning_level : high ;
|
|
# RequiresVariant warnings_are_fatal ;
|
|
|
|
|
|
# generic_MPS turns off SW-specific configuration; Non_generic_MPS
|
|
# means SW. We do it this way round so that SW is the default. You
|
|
# never want to build a generic_MPS variant of SW, only of MPS tests.
|
|
ImplementsVariant generic_MPS ;
|
|
|
|
|
|
# Determine which MPS platform code matches this target.
|
|
local MPSOS ; local MPSPF ;
|
|
switch $(TargetOS) {
|
|
case win_32 :
|
|
MPSOS = w3 ;
|
|
switch $(TargetArch) {
|
|
case pentium : MPSPF = w3i3mv ;
|
|
case alpha : MPSPF = w3almv ;
|
|
case ppc : MPSPF = w3ppmv ;
|
|
}
|
|
case irix_5 : MPSOS = i5 ; MPSPF = i5m2cc ;
|
|
case irix_6 : MPSOS = ia ; MPSPF = iam4cc ;
|
|
|
|
case linux_2 : MPSOS = li ; MPSPF = lii4gc ;
|
|
|
|
case solaris : MPSOS = so ; MPSPF = sos8gc ;
|
|
|
|
case macos_8 : MPSOS = s7 ; MPSPF = s7ppac ;
|
|
case macos_x : MPSOS = xc ; MPSPF = xcppgc ;
|
|
}
|
|
if ! $(MPSPF) {
|
|
Error Cannot determine MPS platform for target $(TargetOS)-$(TargetArch) ;
|
|
}
|
|
|
|
|
|
# Set MPS configuration
|
|
|
|
AddToVar Inherited Local : C-Defines : CONFIG_PF_$(MPSPF:U) ;
|
|
|
|
AddToVar Inherited Local : C-Defines : CONFIG_PROD_EPCORE
|
|
: Variant Non_generic_MPS ;
|
|
AddToVar Inherited Local : C-Defines : CONFIG_PROD_MPS
|
|
: Variant generic_MPS ;
|
|
AddToVar Inherited Local : Suffix : mps : Variant generic_MPS ;
|
|
|
|
AddToVar Inherited Local : C-Defines : CONFIG_ASSERT : Build ASSERT ;
|
|
AddToVar Inherited Local : C-Defines : CONFIG_DEBUG : Build DEBUG ;
|
|
|
|
|
|
# Compilation rules
|
|
|
|
|
|
DependsOn all : mps ;
|
|
|
|
# C-IncludeExportDirectories
|
|
# : .. ;
|
|
|
|
|
|
AddToVar Local : VariantMPSsources
|
|
: prmcan.c protsw.c ssan.c than.c
|
|
mpsioan.c poolepdl.c poolepvm.c
|
|
: Variant Non_generic_MPS ;
|
|
|
|
switch $(MPSPF) {
|
|
case w3i3mv :
|
|
AddToVar Local : VariantMPSsources
|
|
: lockw3.c prmci3w3.c proti3.c protw3.c spi3.c ssw3i3.c thw3i3.c
|
|
mpsiw3.c
|
|
: Variant generic_MPS ;
|
|
AddToVar Local : VariantMPSsources : vmw3.c ;
|
|
case w3ppmv :
|
|
AddToVar Local : VariantMPSsources
|
|
: lockw3.c prmcan.c protw3.c span.c ssan.c than.c
|
|
mpsiw3.c
|
|
: Variant generic_MPS ;
|
|
AddToVar Local : VariantMPSsources : vmw3.c ;
|
|
case w3almv :
|
|
AddToVar Local : VariantMPSsources
|
|
: lockw3.c prmcan.c protw3.c span.c ssan.c than.c
|
|
mpsiw3.c
|
|
: Variant generic_MPS ;
|
|
AddToVar Local : VariantMPSsources : vmw3.c ;
|
|
case sos8gc :
|
|
AddToVar Local : VariantMPSsources
|
|
: lockan.c prmcan.c protso.c span.c sssus8.c than.c
|
|
: Variant generic_MPS ;
|
|
AddToVar Local : VariantMPSsources : vmso.c ;
|
|
case iam4cc :
|
|
AddToVar Local : VariantMPSsources
|
|
: lockan.c prmcan.c protan.c span.c ssan.c than.c
|
|
: Variant generic_MPS ;
|
|
AddToVar Local : VariantMPSsources : vmi5.c ;
|
|
case lii4gc :
|
|
AddToVar Local : VariantMPSsources
|
|
: lockli.c prmci3li.c protli.c protlii3.c proti3.c pthrdext.c
|
|
span.c sslii3.c thlii4.c
|
|
: Variant generic_MPS ;
|
|
AddToVar Local : VariantMPSsources : vmli.c ;
|
|
AddToVar Local Inherited : C-Defines : _REENTRANT : Variant generic_MPS ;
|
|
case s7ppac :
|
|
AddToVar Local : VariantMPSsources
|
|
: lockan.c prmcan.c protan.c span.c ssan.c than.c
|
|
: Variant generic_MPS ;
|
|
AddToVar Local : VariantMPSsources : vman.c ;
|
|
case xcppgc :
|
|
AddToVar Local : VariantMPSsources
|
|
: lockan.c prmcan.c protan.c span.c ssan.c than.c
|
|
: Variant generic_MPS ;
|
|
AddToVar Local : VariantMPSsources : vmxc.c ;
|
|
case * :
|
|
Error Undefined MPS platform ;
|
|
}
|
|
|
|
Library mps :
|
|
$(VariantMPSsources)
|
|
arena.c
|
|
arenacl.c
|
|
arenavm.c
|
|
boot.c
|
|
bt.c
|
|
buffer.c
|
|
cbs.c
|
|
dbgpool.c
|
|
dbgpooli.c
|
|
event.c
|
|
format.c
|
|
global.c
|
|
ld.c
|
|
locus.c
|
|
message.c
|
|
meter.c
|
|
mpm.c
|
|
mpsi.c
|
|
pool.c
|
|
poolabs.c
|
|
poolamc.c
|
|
poolams.c
|
|
poolamsi.c
|
|
poolawl.c
|
|
poollo.c
|
|
poolmfs.c
|
|
poolmrg.c
|
|
poolmv.c
|
|
poolmvff.c
|
|
poolsnc.c
|
|
protocol.c
|
|
ref.c
|
|
reserv.c
|
|
ring.c
|
|
root.c
|
|
sac.c
|
|
seg.c
|
|
shield.c
|
|
splay.c
|
|
trace.c
|
|
tract.c
|
|
version.c
|
|
walk.c
|
|
;
|
|
|
|
|
|
# Auxiliary tools
|
|
|
|
AddToVar Local : VariantPlinthSources : mpsioan.c : Variant generic_MPS ;
|
|
Library plinth :
|
|
$(VariantPlinthSources)
|
|
mpsliban.c
|
|
;
|
|
|
|
Executable eventcnv : eventcnv.c eventpro.c table.c ;
|
|
|
|
Executable replay
|
|
: replay.c eventrep.c eventpro.c table.c mpsliban.c fmtpstst.c ;
|
|
C-LinkWithLibraries replay : mps testlib ;
|
|
|
|
|
|
# Test files
|
|
|
|
# testrun is the target for building and running all tests.
|
|
FloatingDepends testrun ;
|
|
# testrun1 is an intermediate target required by a bug in GenericTarget.
|
|
DependsOn testrun : testrun1 ;
|
|
local testTarget ; MakeGristed testTarget : testrun : $(CurrentPath) ;
|
|
local testTarget1 ; MakeGristed testTarget1 : testrun1 : $(CurrentPath) ;
|
|
NOTFILE $(testTarget) $(testTarget1) ;
|
|
ALWAYS $(testTarget) $(testTarget1) ;
|
|
|
|
rule TestExecutable {
|
|
# TestExecutable executable : additional_sources : variant_for_testrun ;
|
|
Executable $(1) : $(1).c $(2).c ;
|
|
if $(MPSPF) in sos8gc {
|
|
# We'd like to do
|
|
# C-Exec-Linker_Libraries on $(1) += -lm ;
|
|
# but for some reason, it doesn't work. As long as there's nothing
|
|
# in this file after the TestExecutables, this AddToVar is harmless.
|
|
AddToVar Local : C-Exec-Linker_Libraries : -lm ;
|
|
}
|
|
C-LinkWithLibraries $(1) :
|
|
mps
|
|
plinth
|
|
testlib
|
|
;
|
|
# Parse the variant by using AddToVar.
|
|
AddToVar Local : runTest : yes : Variant $(3) ;
|
|
if $(runTest) = yes {
|
|
GenericTarget testrun1 : $(1:S=$(C-Exec-Suffix)) :
|
|
# There must be a space after $>, or GenericTarget won't replace it.
|
|
echo ...TESTING $> ...$(NewLine)
|
|
$> ;
|
|
}
|
|
ReplaceVar Local : runTest : : Variant $(3) ;
|
|
}
|
|
|
|
Library testlib :
|
|
testlib.c
|
|
;
|
|
|
|
TestExecutable abqtest : : mv2_broken ;
|
|
TestExecutable amcss : fmtdy fmtdytst : generic_MPS ;
|
|
TestExecutable amcsshe : fmthe : generic_MPS ;
|
|
TestExecutable amcssth : fmtdy fmtdytst : pthreads ;
|
|
TestExecutable amsss : fmtdy fmtdytst : generic_MPS ;
|
|
TestExecutable apss ;
|
|
TestExecutable arenacv ;
|
|
TestExecutable btcv ;
|
|
TestExecutable bttest : : interactive_test ;
|
|
TestExecutable cbstest ;
|
|
TestExecutable epdss : : Non_generic_MPS ;
|
|
TestExecutable epvmss : fmtpstst : Non_generic_MPS ;
|
|
TestExecutable finalcv : fmtdy fmtdytst ;
|
|
TestExecutable locbwcss ;
|
|
TestExecutable lockcov ;
|
|
TestExecutable lockutw3 : : Windows ;
|
|
TestExecutable locusss ;
|
|
TestExecutable locv ;
|
|
TestExecutable messtest ;
|
|
TestExecutable mpmss ;
|
|
TestExecutable mpsicv : fmtdy fmtdytst ;
|
|
TestExecutable mv2test : poolmv2 abq : mv2_broken ;
|
|
TestExecutable poolncv : pooln ;
|
|
TestExecutable qs : : generic_MPS ;
|
|
TestExecutable sacss ;
|
|
TestExecutable segsmss : fmtdy fmtdytst : generic_MPS ;
|
|
TestExecutable teletest : : interactive_test ;
|
|
|
|
|
|
# $Log: make:makefile.jam,v $
|
|
# Revision 1.11 2002/05/21 13:22:47 pekka
|
|
# Remove assert.c (change.mps.epcore.chub.160200)
|
|
#
|
|
# Revision 1.10 2002/05/09 17:50:03 pekka
|
|
# Add testrun
|
|
#
|
|
# Revision 1.9 2002/02/15 19:14:04 pekka
|
|
# Remove .s file on Solaris
|
|
#
|
|
# Revision 1.8 2002/02/12 14:45:00 pekka
|
|
# [Bug #24034]
|
|
# On Solaris, you have add -lm
|
|
#
|
|
# Revision 1.7 2002/02/07 17:13:52 pekka
|
|
# [Bug #24034]
|
|
# clean up
|
|
#
|
|
# Revision 1.6 2002/01/09 17:11:45 pekka
|
|
# Add poolamsi.c
|
|
#
|
|
# Revision 1.5 2002/01/04 17:25:06 pekka
|
|
# Add dbgpooli.c
|
|
#
|
|
# Revision 1.4 2002/01/02 19:50:04 pekka
|
|
# Clarify comment on generic_MPS; add some more tests
|
|
#
|
|
# Revision 1.3 2001/12/21 14:34:43 pekka
|
|
# Add missing Linux stuff
|
|
#
|
|
# Revision 1.2 2001/12/18 21:08:32 pekka
|
|
# Warnings can't be fatal yet
|
|
#
|
|
# Revision 1.1 2001/12/18 21:03:44 pekka
|
|
# new unit
|
|
# New makefile for building MPS with Jam Doughtnut
|
|
#
|