-
Notifications
You must be signed in to change notification settings - Fork 87
/
Copy pathHolmakefile
52 lines (45 loc) · 2.1 KB
/
Holmakefile
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
52
INCLUDES = $(CAKEMLDIR)/misc $(CAKEMLDIR)/basis $(CAKEMLDIR)/compiler $(CAKEMLDIR)/cv_translator ../..
CLINE_OPTIONS = -j1
all: $(DEFAULT_TARGETS) README.md exec
.PHONY: all
README_SOURCES = $(wildcard *Script.sml) $(wildcard *Lib.sml) $(wildcard *Syntax.sml)
DIRS = $(wildcard */)
README.md: $(CAKEMLDIR)/developers/readme_gen readmePrefix $(patsubst %,%readmePrefix,$(DIRS)) $(README_SOURCES)
$(protect $(CAKEMLDIR)/developers/readme_gen) $(README_SOURCES)
ifdef POLY
HOLHEAP = $(CAKEMLDIR)/cv_translator/cake_compile_heap
endif
ifndef CC
CC=gcc
endif
CFLAGS+=-O2
LDLIBS+=-lm
cat.S: *catCompileScript.sml
cake_cat: cat.S $(CAKEMLDIR)/basis/basis_ffi.o
$(CC) $(CFLAGS) -o $@ $< $(protect $(CAKEMLDIR)/basis/basis_ffi.o) $(LDLIBS)
grep.S: *grepCompileScript.sml
cake_grep: grep.S $(CAKEMLDIR)/basis/basis_ffi.o
$(CC) $(CFLAGS) -o $@ $< $(protect $(CAKEMLDIR)/basis/basis_ffi.o) $(LDLIBS)
patch.S: *patchCompileScript.sml
cake_patch: patch.S $(CAKEMLDIR)/basis/basis_ffi.o
$(CC) $(CFLAGS) -o $@ $< $(protect $(CAKEMLDIR)/basis/basis_ffi.o) $(LDLIBS)
diff.S: *diffCompileScript.sml
cake_diff: diff.S $(CAKEMLDIR)/basis/basis_ffi.o
$(CC) $(CFLAGS) -o $@ $< $(protect $(CAKEMLDIR)/basis/basis_ffi.o) $(LDLIBS)
hello.S: *helloCompileScript.sml
cake_hello: hello.S $(CAKEMLDIR)/basis/basis_ffi.o
$(CC) $(CFLAGS) -o $@ $< $(protect $(CAKEMLDIR)/basis/basis_ffi.o) $(LDLIBS)
sort.S: *sortCompileScript.sml
cake_sort: sort.S $(CAKEMLDIR)/basis/basis_ffi.o
$(CC) $(CFLAGS) -o $@ $< $(protect $(CAKEMLDIR)/basis/basis_ffi.o) $(LDLIBS)
echo.S: *echoCompileScript.sml
cake_echo: echo.S $(CAKEMLDIR)/basis/basis_ffi.o
$(CC) $(CFLAGS) -o $@ $< $(protect $(CAKEMLDIR)/basis/basis_ffi.o) $(LDLIBS)
helloErr.S: *helloErrCompileScript.sml
cake_helloErr: helloErr.S $(CAKEMLDIR)/basis/basis_ffi.o
$(CC) $(CFLAGS) -o $@ $< $(protect $(CAKEMLDIR)/basis/basis_ffi.o) $(LDLIBS)
iocat.S: *iocatCompileScript.sml
cake_iocat: iocat.S $(CAKEMLDIR)/basis/basis_ffi.o
$(CC) $(CFLAGS) -o $@ $< $(protect $(CAKEMLDIR)/basis/basis_ffi.o) $(LDLIBS)
exec: cake_cat cake_grep cake_patch cake_diff cake_hello cake_sort cake_echo cake_helloErr cake_iocat
.PHONY: exec