mirror of
https://github.com/justinethier/cyclone.git
synced 2025-05-19 05:39:17 +02:00
WIP
This commit is contained in:
parent
7185c1a9bb
commit
fdd30340e5
3 changed files with 79 additions and 29 deletions
56
Makefile
56
Makefile
|
@ -6,6 +6,7 @@ include Makefile.config
|
|||
|
||||
TESTSCM = unit-tests
|
||||
TESTFILES = $(addprefix tests/, $(addsuffix .scm, $(TESTSCM)))
|
||||
BOOTSTRAP_DIR = ../cyclone-bootstrap
|
||||
|
||||
all: cyclone icyc
|
||||
|
||||
|
@ -110,30 +111,34 @@ self2:
|
|||
.PHONY: bootstrap
|
||||
bootstrap:
|
||||
# $(MAKE) self2
|
||||
rm -rf tmp
|
||||
mkdir -p tmp/scheme/cyclone
|
||||
mkdir -p tmp/include/cyclone
|
||||
cp include/cyclone/types.h tmp/include/cyclone
|
||||
cp include/cyclone/runtime-main.h tmp/include/cyclone
|
||||
cp include/cyclone/runtime.h tmp/include/cyclone
|
||||
cp runtime.c tmp
|
||||
cp dispatch.c tmp
|
||||
cp scheme/base.c tmp/scheme
|
||||
cp scheme/read.c tmp/scheme
|
||||
cp scheme/write.c tmp/scheme
|
||||
cp scheme/char.c tmp/scheme
|
||||
cp scheme/eval.c tmp/scheme
|
||||
cp scheme/file.c tmp/scheme
|
||||
cp scheme/cyclone/common.c tmp/scheme/cyclone
|
||||
cp icyc.scm tmp
|
||||
cp tests/unit-tests.scm tmp
|
||||
cp scheme/cyclone/libraries.c tmp/scheme/cyclone
|
||||
cp scheme/cyclone/transforms.c tmp/scheme/cyclone
|
||||
cp scheme/cyclone/cgen.c tmp/scheme/cyclone
|
||||
cp scheme/cyclone/util.c tmp/scheme/cyclone
|
||||
cp cyclone-self.c tmp/cyclone.c
|
||||
cp Makefile-bootstrap tmp/Makefile
|
||||
cp Makefile.config tmp/Makefile.config
|
||||
# rm -rf $(BOOTSTRAP_DIR)
|
||||
mkdir -p $(BOOTSTRAP_DIR)/scheme/cyclone
|
||||
mkdir -p $(BOOTSTRAP_DIR)/include/cyclone
|
||||
cp include/cyclone/types.h $(BOOTSTRAP_DIR)/include/cyclone
|
||||
cp include/cyclone/runtime-main.h $(BOOTSTRAP_DIR)/include/cyclone
|
||||
cp include/cyclone/runtime.h $(BOOTSTRAP_DIR)/include/cyclone
|
||||
cp scheme/*.scm $(BOOTSTRAP_DIR)/scheme
|
||||
cp scheme/*.sld $(BOOTSTRAP_DIR)/scheme
|
||||
cp scheme/cyclone/*.scm $(BOOTSTRAP_DIR)/scheme/cyclone
|
||||
cp scheme/cyclone/*.sld $(BOOTSTRAP_DIR)/scheme/cyclone
|
||||
cp runtime.c $(BOOTSTRAP_DIR)
|
||||
cp dispatch.c $(BOOTSTRAP_DIR)
|
||||
cp scheme/base.c $(BOOTSTRAP_DIR)/scheme
|
||||
cp scheme/read.c $(BOOTSTRAP_DIR)/scheme
|
||||
cp scheme/write.c $(BOOTSTRAP_DIR)/scheme
|
||||
cp scheme/char.c $(BOOTSTRAP_DIR)/scheme
|
||||
cp scheme/eval.c $(BOOTSTRAP_DIR)/scheme
|
||||
cp scheme/file.c $(BOOTSTRAP_DIR)/scheme
|
||||
cp scheme/cyclone/common.c $(BOOTSTRAP_DIR)/scheme/cyclone
|
||||
cp icyc.scm $(BOOTSTRAP_DIR)
|
||||
cp tests/unit-tests.scm $(BOOTSTRAP_DIR)
|
||||
cp scheme/cyclone/libraries.c $(BOOTSTRAP_DIR)/scheme/cyclone
|
||||
cp scheme/cyclone/transforms.c $(BOOTSTRAP_DIR)/scheme/cyclone
|
||||
cp scheme/cyclone/cgen.c $(BOOTSTRAP_DIR)/scheme/cyclone
|
||||
cp scheme/cyclone/util.c $(BOOTSTRAP_DIR)/scheme/cyclone
|
||||
cp cyclone-self.c $(BOOTSTRAP_DIR)/cyclone.c
|
||||
cp Makefile-bootstrap $(BOOTSTRAP_DIR)/Makefile
|
||||
cp Makefile.config $(BOOTSTRAP_DIR)/Makefile.config
|
||||
|
||||
|
||||
.PHONY: test
|
||||
|
@ -194,8 +199,7 @@ install:
|
|||
uninstall:
|
||||
$(RM) $(DESTDIR)$(BINDIR)/cyclone
|
||||
$(RM) $(DESTDIR)$(BINDIR)/icyc
|
||||
$(RM) $(DESTDIR)$(LIBDIR)/*.*
|
||||
$(RMDIR) $(DESTDIR)$(LIBDIR)
|
||||
$(RM) $(DESTDIR)$(LIBDIR)/libcyclone.a
|
||||
$(RM) $(DESTDIR)$(INCDIR)/*.*
|
||||
$(RMDIR) $(DESTDIR)$(INCDIR)
|
||||
$(RM) $(DESTDIR)$(DATADIR)/scheme/cyclone/*.*
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
include Makefile.config
|
||||
|
||||
CFLAGS = -g -I.
|
||||
CFLAGS = -g
|
||||
LIBS = -lcyclone -lm
|
||||
|
||||
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
|
||||
|
@ -25,7 +25,7 @@ libcyclone.a: runtime.c include/cyclone/runtime.h dispatch.c
|
|||
|
||||
cyclone: $(COBJECTS) libcyclone.a
|
||||
$(CC) cyclone.c $(CFLAGS) -c -o cyclone.o
|
||||
$(CC) cyclone.o $(COBJECTS) -L. $(LIBS) $(CFLAGS) -o cyclone
|
||||
$(CC) cyclone.o $(COBJECTS) $(LIBS) $(CFLAGS) -o cyclone
|
||||
|
||||
icyc: cyclone
|
||||
./cyclone icyc.scm
|
||||
|
@ -36,3 +36,49 @@ unit-tests: unit-tests.scm
|
|||
#.PHONY: clean
|
||||
#clean:
|
||||
# rm -rf a.out http stack-watch stack-tests *.o
|
||||
|
||||
# Install dependencies required to actually build this project
|
||||
install-deps:
|
||||
$(MKDIR) $(DESTDIR)$(LIBDIR)
|
||||
$(MKDIR) $(DESTDIR)$(INCDIR)
|
||||
$(MKDIR) $(DESTDIR)$(DATADIR)
|
||||
$(MKDIR) $(DESTDIR)$(DATADIR)/scheme/cyclone
|
||||
$(INSTALL) -m0644 include/cyclone/*.h $(DESTDIR)$(INCDIR)/
|
||||
$(INSTALL) -m0644 scheme/*.scm $(DESTDIR)$(DATADIR)/scheme
|
||||
$(INSTALL) -m0644 scheme/*.sld $(DESTDIR)$(DATADIR)/scheme
|
||||
$(INSTALL) -m0644 scheme/cyclone/*.scm $(DESTDIR)$(DATADIR)/scheme/cyclone
|
||||
$(INSTALL) -m0644 scheme/cyclone/*.sld $(DESTDIR)$(DATADIR)/scheme/cyclone
|
||||
|
||||
install-libs:
|
||||
$(MKDIR) $(DESTDIR)$(LIBDIR)
|
||||
$(INSTALL) -m0644 libcyclone.a $(DESTDIR)$(LIBDIR)/
|
||||
|
||||
install:
|
||||
$(MKDIR) $(DESTDIR)$(BINDIR)
|
||||
$(MKDIR) $(DESTDIR)$(LIBDIR)
|
||||
$(MKDIR) $(DESTDIR)$(INCDIR)
|
||||
$(MKDIR) $(DESTDIR)$(DATADIR)
|
||||
$(MKDIR) $(DESTDIR)$(DATADIR)/scheme/cyclone
|
||||
$(INSTALL) -m0755 cyclone $(DESTDIR)$(BINDIR)/
|
||||
$(INSTALL) -m0755 icyc $(DESTDIR)$(BINDIR)/
|
||||
$(INSTALL) -m0644 libcyclone.a $(DESTDIR)$(LIBDIR)/
|
||||
$(INSTALL) -m0644 include/cyclone/*.h $(DESTDIR)$(INCDIR)/
|
||||
$(INSTALL) -m0644 scheme/*.scm $(DESTDIR)$(DATADIR)/scheme
|
||||
$(INSTALL) -m0644 scheme/*.sld $(DESTDIR)$(DATADIR)/scheme
|
||||
$(INSTALL) -m0644 scheme/*.o $(DESTDIR)$(DATADIR)/scheme
|
||||
$(INSTALL) -m0644 scheme/cyclone/*.scm $(DESTDIR)$(DATADIR)/scheme/cyclone
|
||||
$(INSTALL) -m0644 scheme/cyclone/*.sld $(DESTDIR)$(DATADIR)/scheme/cyclone
|
||||
$(INSTALL) -m0644 scheme/cyclone/*.o $(DESTDIR)$(DATADIR)/scheme/cyclone
|
||||
|
||||
uninstall:
|
||||
$(RM) $(DESTDIR)$(BINDIR)/cyclone
|
||||
$(RM) $(DESTDIR)$(BINDIR)/icyc
|
||||
$(RM) $(DESTDIR)$(LIBDIR)/libcyclone.a
|
||||
$(RM) $(DESTDIR)$(INCDIR)/*.*
|
||||
$(RMDIR) $(DESTDIR)$(INCDIR)
|
||||
$(RM) $(DESTDIR)$(DATADIR)/scheme/cyclone/*.*
|
||||
$(RMDIR) $(DESTDIR)$(DATADIR)/scheme/cyclone
|
||||
$(RM) $(DESTDIR)$(DATADIR)/scheme/*.*
|
||||
$(RMDIR) $(DESTDIR)$(DATADIR)/scheme
|
||||
$(RMDIR) $(DESTDIR)$(DATADIR)
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ RMDIR ?= rmdir
|
|||
|
||||
PREFIX ?= /usr/local
|
||||
BINDIR ?= $(PREFIX)/bin
|
||||
LIBDIR ?= $(PREFIX)/lib/cyclone
|
||||
LIBDIR ?= $(PREFIX)/lib
|
||||
INCDIR ?= $(PREFIX)/include/cyclone
|
||||
DATADIR ?= $(PREFIX)/share/cyclone
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue