mirror of
https://github.com/justinethier/cyclone.git
synced 2025-05-23 20:15:05 +02:00
36 lines
932 B
Text
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
|