This commit is contained in:
Justin Ethier 2015-07-20 22:55:46 -04:00
parent 7185c1a9bb
commit fdd30340e5
3 changed files with 79 additions and 29 deletions

View file

@ -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/*.*

View file

@ -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)

View file

@ -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