cyclone/Makefile-bootstrap
2015-07-16 21:51:59 -04:00

38 lines
1,011 B
Text

# Cyclone Scheme
# Copyright (c) 2014, Justin Ethier
# All rights reserved.
#
# Makefile for bootstrapping cyclone from generated C files.
include Makefile.config
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 dispatch.c
$(CC) -g -c dispatch.c -o dispatch.o
$(CC) -g -c runtime.c -o runtime.o
$(AR) rcs libcyclone.a runtime.o dispatch.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