83 lines
2.4 KiB
Text
83 lines
2.4 KiB
Text
# Mf-base
|
|
# Copyright 1984-2017 Cisco Systems, Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
include Mf-config
|
|
export CC CFLAGS LD LDFLAGS
|
|
|
|
Include=../boot/$m
|
|
PetiteBoot=../boot/$m/petite.boot
|
|
SchemeBoot=../boot/$m/scheme.boot
|
|
Main=../boot/$m/main.$o
|
|
Scheme=../bin/$m/scheme
|
|
|
|
# One of these sets is referenced in Mf-config to select between
|
|
# linking with kernel.o or libkernel.a
|
|
|
|
KernelO=../boot/$m/kernel.$o
|
|
KernelOLinkDeps=
|
|
KernelOLinkLibs=
|
|
|
|
KernelLib=../boot/$m/libkernel.a
|
|
KernelLibLinkDeps=${zlibDep} ${LZ4Dep}
|
|
KernelLibLinkLibs=${zlibLib} ${LZ4Lib}
|
|
|
|
kernelsrc=statics.c segment.c alloc.c symbol.c intern.c gcwrapper.c gc-011.c gc-ocd.c gc-oce.c\
|
|
number.c schsig.c io.c new-io.c print.c fasl.c stats.c foreign.c prim.c prim5.c flushcache.c\
|
|
schlib.c thread.c expeditor.c scheme.c compress-io.c
|
|
|
|
kernelobj=${kernelsrc:%.c=%.$o} ${mdobj}
|
|
|
|
kernelhdr=system.h types.h version.h globals.h externs.h segment.h gc.c sort.h thread.h config.h compress-io.h itest.c nocurses.h
|
|
|
|
mainsrc=main.c
|
|
|
|
mainobj:=${mainsrc:%.c=%.$o}
|
|
|
|
doit: ${Scheme}
|
|
|
|
source: ${kernelsrc} ${kernelhdr} ${mdsrc} ${mainsrc}
|
|
|
|
${Main}: ${mainobj}
|
|
cp -p ${mainobj} ${Main}
|
|
|
|
rootsrc=$(shell cd ../../c; echo *)
|
|
${rootsrc}:
|
|
ifeq ($(OS),Windows_NT)
|
|
cp -p ../../c/$@ $@
|
|
else
|
|
ln -s ../../c/$@ $@
|
|
endif
|
|
|
|
scheme.o: itest.c
|
|
scheme.o main.o: config.h
|
|
${kernelobj}: system.h types.h version.h externs.h globals.h segment.h thread.h sort.h compress-io.h nocurses.h
|
|
${kernelobj}: ${Include}/equates.h ${Include}/scheme.h
|
|
${mainobj}: ${Include}/scheme.h
|
|
${kernelobj}: ${zlibHeaderDep} ${LZ4HeaderDep}
|
|
gc-011.o gc-ocd.o gc-oce.o: gc.c
|
|
|
|
../zlib/zlib.h ../zlib/zconf.h: ../zlib/configure.log
|
|
|
|
../zlib/libz.a: ../zlib/configure.log
|
|
(cd ../zlib; ${MAKE})
|
|
|
|
LZ4Sources=../lz4/lib/lz4.h ../lz4/lib/lz4frame.h \
|
|
../lz4/lib/lz4.c ../lz4/lib/lz4frame.c \
|
|
../lz4/lib/lz4hc.c ../lz4/lib/xxhash.c
|
|
|
|
clean:
|
|
rm -f *.$o ${mdclean}
|
|
rm -f Make.out
|