| 
include Makefile.inc
OBJDIR=${BUILDDIR}/${OBJ}/runtime
KERNEL = Kernel
# KERNEL = LiterateKernel
SUBDIRS = ${KERNEL} Mk Builtin Integer
OBJDIRS=$(patsubst %,${OBJDIR}/%,${SUBDIRS})
RUNTIME = Runtime
ifeq "${CFG}" ""
  SUF=
else
  SUF=.${CFG}
endif
LDFLAGS = -r
ARFLAGS = r
all: links ofiles afile nhc98heap$(EXE)
	${INSTALL} ${OBJDIR}/${KERNEL}/$(RUNTIME)$(SUF).a ${DST}
	$(AR) $(ARFLAGS) ${DST}/$(RUNTIME)$(SUF).a ${OBJDIR}/Integer/*.o ${OBJDIR}/Builtin/*.o ${OBJDIR}/Mk/*.o
	-ranlib ${DST}/$(RUNTIME)$(SUF).a
	${INSTALL} ${OBJDIR}/${KERNEL}/mutator.o ${DST}/mutator$(SUF).o
	${INSTALL} ${OBJDIR}/${KERNEL}/mutlib.o ${DST}/mutlib$(SUF).o
	${INSTALL} ${OBJDIR}/${KERNEL}/main.o ${DST}/main$(SUF).o
ofiles: ${OBJDIR} ${OBJDIRS}
	cd ${KERNEL}; $(MAKE) all
afile: ${OBJDIR} ${OBJDIRS}
	cd Integer; $(MAKE) all
	cd Builtin; $(MAKE) all
	cd Mk;      $(MAKE) all
nhc98heap$(EXE): $(DST)/nhc98heap$(EXE) ;
clean:
	cd ${KERNEL}; $(MAKE) clean
	cd Integer;   $(MAKE) clean
	cd Builtin;   $(MAKE) clean
	cd Mk;        $(MAKE) clean
links:
	cd ${KERNEL}; $(MAKE) links
	cd Integer;   $(MAKE) links
	cd Builtin;   $(MAKE) links
	cd Mk;        $(MAKE) links
nolinks:
	cd ${KERNEL}; $(MAKE) nolinks
	cd Integer;   $(MAKE) nolinks
	cd Builtin;   $(MAKE) nolinks
	cd Mk;        $(MAKE) nolinks
realclean: clean
	rm -f $(DST)/nhc98heap$(EXE) $(DST)/$(RUNTIME)$(SUF).a
${OBJDIR}:
	mkdir -p ${OBJDIR}
${OBJDIRS}: ${OBJDIR}/% :
	mkdir -p $@ || $(TRUE)
objdir: ${OBJDIR}
	cd ${KERNEL}; $(MAKE) objdir
	cd Integer;   $(MAKE) objdir
	cd Builtin;   $(MAKE) objdir
	cd Mk;        $(MAKE) objdir
$(DST)/nhc98heap$(EXE): nhc98heap.c
	$(CC) $(ARCH) $(shell echo ${COPTS}) -o $@ $<
	$(STRIP) $@
 |