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 TESTSCM = unit-tests
TESTFILES = $(addprefix tests/, $(addsuffix .scm, $(TESTSCM))) TESTFILES = $(addprefix tests/, $(addsuffix .scm, $(TESTSCM)))
BOOTSTRAP_DIR = ../cyclone-bootstrap
all: cyclone icyc all: cyclone icyc
@ -110,30 +111,34 @@ self2:
.PHONY: bootstrap .PHONY: bootstrap
bootstrap: bootstrap:
# $(MAKE) self2 # $(MAKE) self2
rm -rf tmp # rm -rf $(BOOTSTRAP_DIR)
mkdir -p tmp/scheme/cyclone mkdir -p $(BOOTSTRAP_DIR)/scheme/cyclone
mkdir -p tmp/include/cyclone mkdir -p $(BOOTSTRAP_DIR)/include/cyclone
cp include/cyclone/types.h tmp/include/cyclone cp include/cyclone/types.h $(BOOTSTRAP_DIR)/include/cyclone
cp include/cyclone/runtime-main.h tmp/include/cyclone cp include/cyclone/runtime-main.h $(BOOTSTRAP_DIR)/include/cyclone
cp include/cyclone/runtime.h tmp/include/cyclone cp include/cyclone/runtime.h $(BOOTSTRAP_DIR)/include/cyclone
cp runtime.c tmp cp scheme/*.scm $(BOOTSTRAP_DIR)/scheme
cp dispatch.c tmp cp scheme/*.sld $(BOOTSTRAP_DIR)/scheme
cp scheme/base.c tmp/scheme cp scheme/cyclone/*.scm $(BOOTSTRAP_DIR)/scheme/cyclone
cp scheme/read.c tmp/scheme cp scheme/cyclone/*.sld $(BOOTSTRAP_DIR)/scheme/cyclone
cp scheme/write.c tmp/scheme cp runtime.c $(BOOTSTRAP_DIR)
cp scheme/char.c tmp/scheme cp dispatch.c $(BOOTSTRAP_DIR)
cp scheme/eval.c tmp/scheme cp scheme/base.c $(BOOTSTRAP_DIR)/scheme
cp scheme/file.c tmp/scheme cp scheme/read.c $(BOOTSTRAP_DIR)/scheme
cp scheme/cyclone/common.c tmp/scheme/cyclone cp scheme/write.c $(BOOTSTRAP_DIR)/scheme
cp icyc.scm tmp cp scheme/char.c $(BOOTSTRAP_DIR)/scheme
cp tests/unit-tests.scm tmp cp scheme/eval.c $(BOOTSTRAP_DIR)/scheme
cp scheme/cyclone/libraries.c tmp/scheme/cyclone cp scheme/file.c $(BOOTSTRAP_DIR)/scheme
cp scheme/cyclone/transforms.c tmp/scheme/cyclone cp scheme/cyclone/common.c $(BOOTSTRAP_DIR)/scheme/cyclone
cp scheme/cyclone/cgen.c tmp/scheme/cyclone cp icyc.scm $(BOOTSTRAP_DIR)
cp scheme/cyclone/util.c tmp/scheme/cyclone cp tests/unit-tests.scm $(BOOTSTRAP_DIR)
cp cyclone-self.c tmp/cyclone.c cp scheme/cyclone/libraries.c $(BOOTSTRAP_DIR)/scheme/cyclone
cp Makefile-bootstrap tmp/Makefile cp scheme/cyclone/transforms.c $(BOOTSTRAP_DIR)/scheme/cyclone
cp Makefile.config tmp/Makefile.config 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 .PHONY: test
@ -194,8 +199,7 @@ install:
uninstall: uninstall:
$(RM) $(DESTDIR)$(BINDIR)/cyclone $(RM) $(DESTDIR)$(BINDIR)/cyclone
$(RM) $(DESTDIR)$(BINDIR)/icyc $(RM) $(DESTDIR)$(BINDIR)/icyc
$(RM) $(DESTDIR)$(LIBDIR)/*.* $(RM) $(DESTDIR)$(LIBDIR)/libcyclone.a
$(RMDIR) $(DESTDIR)$(LIBDIR)
$(RM) $(DESTDIR)$(INCDIR)/*.* $(RM) $(DESTDIR)$(INCDIR)/*.*
$(RMDIR) $(DESTDIR)$(INCDIR) $(RMDIR) $(DESTDIR)$(INCDIR)
$(RM) $(DESTDIR)$(DATADIR)/scheme/cyclone/*.* $(RM) $(DESTDIR)$(DATADIR)/scheme/cyclone/*.*

View file

@ -6,7 +6,7 @@
include Makefile.config include Makefile.config
CFLAGS = -g -I. CFLAGS = -g
LIBS = -lcyclone -lm 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 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 cyclone: $(COBJECTS) libcyclone.a
$(CC) cyclone.c $(CFLAGS) -c -o cyclone.o $(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 icyc: cyclone
./cyclone icyc.scm ./cyclone icyc.scm
@ -36,3 +36,49 @@ unit-tests: unit-tests.scm
#.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
# 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 PREFIX ?= /usr/local
BINDIR ?= $(PREFIX)/bin BINDIR ?= $(PREFIX)/bin
LIBDIR ?= $(PREFIX)/lib/cyclone LIBDIR ?= $(PREFIX)/lib
INCDIR ?= $(PREFIX)/include/cyclone INCDIR ?= $(PREFIX)/include/cyclone
DATADIR ?= $(PREFIX)/share/cyclone DATADIR ?= $(PREFIX)/share/cyclone