cyclone/Makefile-bootstrap
2015-07-07 22:33:57 -04:00

36 lines
932 B
Text

# Cyclone Scheme
# Copyright (c) 2014, Justin Ethier
# All rights reserved.
#
# Makefile for bootstrapping cyclone from generated C files.
CC = gcc
CFLAGS = -g -I.
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
CFILES = $(addsuffix .c, $(COBJ))
COBJECTS=$(CFILES:.c=.o)
%.o: %.c %.h
$(CC) $(CFLAGS) $< -c -o $@
all: cyclone icyc unit-tests
libcyclone.a: runtime.c runtime.h
$(CC) -g -c runtime.c -o runtime.o
ar rcs libcyclone.a runtime.o
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
unit-tests: unit-tests.scm
./cyclone unit-tests.scm && ./unit-tests
#.PHONY: clean
#clean:
# rm -rf a.out http stack-watch stack-tests *.o