Chez Scheme makefiles: fix .bootquick when source has boot files

This commit is contained in:
Matthew Flatt 2020-08-01 07:10:29 -06:00
parent 6c59a722a1
commit 719cd66835
3 changed files with 23 additions and 12 deletions

View File

@ -20,12 +20,8 @@ bootfiles=$(addsuffix .boot, $(shell cd ../boot ; echo *))
doit: $(bootfiles)
%.boot:
rm -rf ../xc-$*
( cd .. ; "${srcdir}"/workarea $* xc-$* )
( cd ../xc-$*/s ; $(MAKE) -f Mf-cross base=../../$(workarea) m=$(m) xm=$* )
mkdir -p ../boot/$*
for x in `echo scheme.boot petite.boot scheme.h equates.h gc-oce.inc gc-ocd.inc vfasl.inc` ; do\
if [ ! -h ../xc-$*/boot/$*/$$x ] ; then \
mv -f ../xc-$*/boot/$*/$$x ../boot/$*/$$x ;\
fi ;\
done
rm -rf ../xc-$*
( cd ../xc-$*/s ; $(MAKE) keepbootfiles )

View File

@ -106,8 +106,10 @@ endif
ProfileDumpSource = source.pd
ProfileDumpBlock = block.pd
PetiteBoot = ../boot/$m/petite.boot
SchemeBoot = ../boot/$m/scheme.boot
PetiteBootRel = boot/$m/petite.boot
PetiteBoot = ../${PetiteBootRel}
SchemeBootRel = boot/$m/scheme.boot
SchemeBoot = ../${SchemeBootRel}
Cheader = ../boot/$m/scheme.h
Cequates = ../boot/$m/equates.h
Cgcocd = ../boot/$m/gc-ocd.inc
@ -349,14 +351,25 @@ resetbootlinks:
-@echo '(reset-handler abort)'\
'(for-each'\
'(lambda (fn)'\
'(let ([fn (symbol->string fn)])'\
'(let ([fn (format "../~a" fn)]'\
'[bn (format "$upupbootdir/~a" fn)]'\
'[q (integer->char 34)])'\
'(unless (file-symbolic-link? fn)'\
'(when (guard (c [else #f]) (#%$$fasl-file-equal? (format "../~a" fn) fn))'\
'(system (format "ln -sf ../../~a ~a" fn fn))'\
'(when (guard (c [else #f]) (#%$$fasl-file-equal? bn fn))'\
'(system (format "ln -sf ~a~a~a ~a" q fn q fn))'\
'(void)))))'\
'(list (quote ${SchemeBoot}) (quote ${PetiteBoot})))'\
'(list (quote ${SchemeBootRel}) (quote ${PetiteBootRel})))'\
| ${Scheme} -q
keepbootfiles:
for x in `echo scheme.boot petite.boot scheme.h equates.h gc-oce.inc gc-ocd.inc vfasl.inc` ; do\
if [ ! -h ../boot/$(m)/$$x ] ; then \
mv -f ../boot/$(m)/$$x ../../boot/$(m)/$$x ;\
elif [ "${upupupbootdir}" != "../../.." ] ; then \
cp ../boot/$(m)/$$x ../../boot/$(m)/$$x ;\
fi ;\
done
${PetiteBoot}: ${macroobj} ${patchfile} ${baseobj}
echo '(reset-handler abort)'\
'(generate-covin-files #$c)'\

View File

@ -153,8 +153,10 @@ case "$srcdir" in
esac
if [ -f boot/$M/scheme.boot ] ; then
upbootdir=..
upupupbootdir=../../..
else
upbootdir=$upsrcdir
upupupbootdir=$upupupsrcdir
fi