about summary refs log tree commit diff stats
path: root/Makefile
blob: 8eead3a7781145ba70b3c2a7d9665a70adbe256d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# Automatically generated by scramble

NAME = jimmy
CSC = /usr/bin/csc
CSC_OPTIONS = -setup-mode -host -I $(PWD) -C -I$(PWD)
CSC_LIB_OPTIONS = -D compiling-extension -emit-all-import-libraries -dynamic -regenerate-import-libraries
CSC_OPTIONS_EXTRA = -X utf8 -X module-declarations
CSI = /usr/bin/csi
BUILD = $(PWD)/build
TESTS = $(PWD)/tests
TEST_ENV = env BUILD=$(BUILD) TESTS=$(TESTS)
TEST_ENV_EXTRA = TEST_USE_ANSI=0

.PHONY: all test clean install uninstall
all: build/jimmy.util.so build/jimmy.read.so build/jimmy.emit.so build/jimmy.html.so build/jimmy.wrap.so
test: all
	cd $(BUILD) && $(TEST_ENV) $(TEST_ENV_EXTRA) $(CSI) -setup-mode -s $(TESTS)/run.scm $(NAME)
clean:
	-rm -rf $(BUILD) *.build.sh *.install.sh $(NAME) *.import.scm *.so *.link *.static.o
install:
	chicken-install -s
uninstall:
	chicken-uninstall -s

# jimmy

build/jimmy.util.so: src/util.scm
	@mkdir -p $(BUILD)
	cd $(BUILD) && \
	$(CSC) $(CSC_OPTIONS) $(CSC_LIB_OPTIONS) $(CSC_OPTIONS_EXTRA) ../$< -o $(@F)
	@test -f jimmy.util.import.scm &&mv jimmy.util.import.scm $(BUILD)/||true
build/jimmy.read.so: src/read.scm src/util.scm
	@mkdir -p $(BUILD)
	cd $(BUILD) && \
	$(CSC) $(CSC_OPTIONS) $(CSC_LIB_OPTIONS) $(CSC_OPTIONS_EXTRA) ../$< -o $(@F)
	@test -f jimmy.read.import.scm &&mv jimmy.read.import.scm $(BUILD)/||true
build/jimmy.emit.so: src/emit.scm src/util.scm
	@mkdir -p $(BUILD)
	cd $(BUILD) && \
	$(CSC) $(CSC_OPTIONS) $(CSC_LIB_OPTIONS) $(CSC_OPTIONS_EXTRA) ../$< -o $(@F)
	@test -f jimmy.emit.import.scm &&mv jimmy.emit.import.scm $(BUILD)/||true
build/jimmy.html.so: src/html.scm src/util.scm src/emit.scm
	@mkdir -p $(BUILD)
	cd $(BUILD) && \
	$(CSC) $(CSC_OPTIONS) $(CSC_LIB_OPTIONS) $(CSC_OPTIONS_EXTRA) ../$< -o $(@F)
	@test -f jimmy.html.import.scm &&mv jimmy.html.import.scm $(BUILD)/||true
build/jimmy.wrap.so: src/wrap.scm src/util.scm src/emit.scm
	@mkdir -p $(BUILD)
	cd $(BUILD) && \
	$(CSC) $(CSC_OPTIONS) $(CSC_LIB_OPTIONS) $(CSC_OPTIONS_EXTRA) ../$< -o $(@F)
	@test -f jimmy.wrap.import.scm &&mv jimmy.wrap.import.scm $(BUILD)/||true