mirror of
https://github.com/justinethier/cyclone.git
synced 2025-05-24 20:45:06 +02:00
Bootstrapping
This commit is contained in:
parent
179738ca6e
commit
378cb2749a
2 changed files with 39 additions and 24 deletions
14
Makefile
14
Makefile
|
@ -75,6 +75,7 @@ self:
|
||||||
./cyclone scheme/cyclone/libraries.sld
|
./cyclone scheme/cyclone/libraries.sld
|
||||||
./cyclone scheme/cyclone/transforms.sld
|
./cyclone scheme/cyclone/transforms.sld
|
||||||
./cyclone scheme/cyclone/cgen.sld
|
./cyclone scheme/cyclone/cgen.sld
|
||||||
|
./cyclone scheme/cyclone/util.sld
|
||||||
./cyclone cyclone-self.scm
|
./cyclone cyclone-self.scm
|
||||||
|
|
||||||
.PHONY: self2
|
.PHONY: self2
|
||||||
|
@ -90,6 +91,7 @@ self2:
|
||||||
./cyclone-self scheme/cyclone/libraries.sld
|
./cyclone-self scheme/cyclone/libraries.sld
|
||||||
./cyclone-self scheme/cyclone/transforms.sld
|
./cyclone-self scheme/cyclone/transforms.sld
|
||||||
./cyclone-self scheme/cyclone/cgen.sld
|
./cyclone-self scheme/cyclone/cgen.sld
|
||||||
|
./cyclone-self scheme/cyclone/util.sld
|
||||||
./cyclone-self cyclone-self.scm
|
./cyclone-self cyclone-self.scm
|
||||||
|
|
||||||
# TODO: this is ugly and needs lots of work yet...
|
# TODO: this is ugly and needs lots of work yet...
|
||||||
|
@ -100,9 +102,13 @@ self2:
|
||||||
# which can be done from a fixed location)
|
# which can be done from a fixed location)
|
||||||
.PHONY: bootstrap
|
.PHONY: bootstrap
|
||||||
bootstrap:
|
bootstrap:
|
||||||
$(MAKE) self2
|
# $(MAKE) self2
|
||||||
rm -rf tmp
|
rm -rf tmp
|
||||||
mkdir -p tmp/scheme/cyclone
|
mkdir -p tmp/scheme/cyclone
|
||||||
|
cp cyclone.h tmp
|
||||||
|
cp runtime-main.h tmp
|
||||||
|
cp runtime.h tmp
|
||||||
|
cp runtime.c tmp
|
||||||
cp scheme/base.c tmp/scheme
|
cp scheme/base.c tmp/scheme
|
||||||
cp scheme/read.c tmp/scheme
|
cp scheme/read.c tmp/scheme
|
||||||
cp scheme/write.c tmp/scheme
|
cp scheme/write.c tmp/scheme
|
||||||
|
@ -110,11 +116,13 @@ bootstrap:
|
||||||
cp scheme/eval.c tmp/scheme
|
cp scheme/eval.c tmp/scheme
|
||||||
cp scheme/file.c tmp/scheme
|
cp scheme/file.c tmp/scheme
|
||||||
cp scheme/cyclone/common.c tmp/scheme/cyclone
|
cp scheme/cyclone/common.c tmp/scheme/cyclone
|
||||||
cp icyc.c tmp
|
# cp icyc.c tmp
|
||||||
|
cp icyc.scm tmp
|
||||||
cp scheme/cyclone/libraries.c tmp/scheme/cyclone
|
cp scheme/cyclone/libraries.c tmp/scheme/cyclone
|
||||||
cp scheme/cyclone/transforms.c tmp/scheme/cyclone
|
cp scheme/cyclone/transforms.c tmp/scheme/cyclone
|
||||||
cp scheme/cyclone/cgen.c tmp/scheme/cyclone
|
cp scheme/cyclone/cgen.c tmp/scheme/cyclone
|
||||||
cp cyclone-self.c tmp
|
cp scheme/cyclone/util.c tmp/scheme/cyclone
|
||||||
|
cp cyclone-self.c tmp/cyclone.c
|
||||||
cp Makefile-bootstrap tmp/Makefile
|
cp Makefile-bootstrap tmp/Makefile
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,31 +1,38 @@
|
||||||
# TODO
|
# TODO
|
||||||
"gcc test2.c -I/home/justin/Documents/cyclone/ -g -c -o test2.o""gcc test2.o /home/justin/Documents/cyclone/scheme/base.o /home/justin/Documents/cyclone/scheme/write.o /home/justin/Documents/cyclone/scheme/file.o -L/home/justin/Documents/cyclone/ -lcyclone -lm -I/home/justin/Documents/cyclone/ -g -o test2
|
#gcc test2.c -I/home/justin/Documents/cyclone/ -g -c -o test2.o
|
||||||
|
#gcc test2.o /home/justin/Documents/cyclone/scheme/base.o /home/justin/Documents/cyclone/scheme/write.o /home/justin/Documents/cyclone/scheme/file.o -L/home/justin/Documents/cyclone/ -lcyclone -lm -I/home/justin/Documents/cyclone/ -g -o test2
|
||||||
|
#"gcc cyclone-self.o /home/justin/Documents/cyclone/scheme/base.o /home/justin/Documents/cyclone/scheme/char.o /home/justin/Documents/cyclone/scheme/file.o /home/justin/Documents/cyclone/scheme/read.o /home/justin/Documents/cyclone/scheme/cyclone/util.o /home/justin/Documents/cyclone/scheme/write.o /home/justin/Documents/cyclone/scheme/cyclone/common.o /home/justin/Documents/cyclone/scheme/cyclone/libraries.o /home/justin/Documents/cyclone/scheme/eval.o /home/justin/Documents/cyclone/scheme/cyclone/transforms.o /home/justin/Documents/cyclone/scheme/cyclone/cgen.o -L/home/justin/Documents/cyclone/ -lcyclone -lm -I/home/justin/Documents/cyclone/ -g -o cyclone-self"
|
||||||
|
|
||||||
# TODO: let's pretty this up, then port some of that back to the main makefile:
|
# TODO: let's pretty this up, then port some of that back to the main makefile:
|
||||||
|
|
||||||
#CC = gcc
|
CC = gcc
|
||||||
#CSTD = -std=c99
|
CFLAGS = -g -I.
|
||||||
#CFLAGS = $(CSTD) -g
|
LIBS = -lcyclone -lm
|
||||||
#LIBS = -lcurl -ljson
|
|
||||||
#
|
COBJ = scheme/base scheme/read scheme/write scheme/char scheme/eval scheme/file scheme/cyclone/common scheme/cyclone/libraries scheme/cyclone/transforms scheme/cyclone/cgen scheme/cyclone/util
|
||||||
#COBJ = se-api util main http entities
|
CFILES = $(addsuffix .c, $(COBJ))
|
||||||
#CFILES = $(addsuffix .c, $(COBJ))
|
COBJECTS=$(CFILES:.c=.o)
|
||||||
#COBJECTS=$(CFILES:.c=.o)
|
|
||||||
#
|
%.o: %.c %.h
|
||||||
#TOBJ = se-api util test entities
|
$(CC) $(CFLAGS) $< -c -o $@
|
||||||
#TFILES = $(addsuffix .c, $(TOBJ))
|
|
||||||
#TOBJECTS=$(TFILES:.c=.o)
|
all: cyclone icyc
|
||||||
#
|
|
||||||
#%.o: %.c %.h
|
libcyclone.a: runtime.c runtime.h
|
||||||
# $(CC) $(CFLAGS) $< -c -o $@
|
$(CC) -g -c runtime.c -o runtime.o
|
||||||
#
|
ar rcs libcyclone.a runtime.o
|
||||||
#stack-watch: $(COBJECTS) config.h
|
|
||||||
# $(CC) $(CFLAGS) $(COBJECTS) $(LIBS) -o stack-watch
|
cyclone: $(COBJECTS) libcyclone.a
|
||||||
#
|
$(CC) cyclone.c $(CFLAGS) -c -o cyclone.o
|
||||||
|
$(CC) cyclone.o $(COBJECTS) -L. $(LIBS) $(CFLAGS) -o cyclone
|
||||||
|
|
||||||
|
icyc: cyclone
|
||||||
|
./cyclone icyc.scm
|
||||||
|
|
||||||
#test: $(TOBJECTS) config.h
|
#test: $(TOBJECTS) config.h
|
||||||
# $(CC) $(CFLAGS) $(TOBJECTS) $(LIBS) -o stack-tests
|
# $(CC) $(CFLAGS) $(TOBJECTS) $(LIBS) -o stack-tests
|
||||||
# ./stack-tests
|
# ./stack-tests
|
||||||
#
|
|
||||||
#.PHONY: clean
|
#.PHONY: clean
|
||||||
#clean:
|
#clean:
|
||||||
# rm -rf a.out http stack-watch stack-tests *.o
|
# rm -rf a.out http stack-watch stack-tests *.o
|
||||||
|
|
Loading…
Add table
Reference in a new issue