blob: 17ee1ffbec2cd5d6e8cd18c0f3123e8e36a691ee [file] [log] [blame]
# -*- mode:makefile -*-
init(lisp, lisp)
option(PLAT, "`platform to build for: either linux or bluejay'", linux)
preset(optimize)
preset(32)
preset(debug)
preset(warn)
archetype(c)
CFLAGS += -Ivendor/luajit/dynasm
OBJECTS = main.o \
lisp.o \
compiler.o \
lib/std.o
ifeq ($(PLAT),linux)
OBJECTS += plat/linux.o
else
$(error linux is the only supported option for PLAT)
endif
LUA = vendor/luajit/src/host/minilua
vendor/luajit/src/host/minilua: vendor/luajit/src/host/minilua.c
status_log(CC, $<)
@$(CC) $< -o $@ -lm
compiler.c: compiler.dasc
status_log(DYNASM, $<)
@$(LUA) vendor/luajit/dynasm/dynasm.lua -o $@ $<
type(executable)
run: lisp
status_log(RUN, ./lisp)
@./lisp "$$(cat test.lisp)"
format:
status_log(FORMAT, *)
@clang-format -i *.c *.h *.dasc
finish