# 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