/
Makefile
55 lines (42 loc) · 1.55 KB
/
Makefile
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
53
54
55
OBJS=lpeg.o slnunico.o
COPT= -O2 -DNDEBUG
CWARNS= -Wall -Wextra -pedantic
CC=gcc $(COPT) $(CWARNS) -I$(LUADIR) -L$(LUADIR)
LUADIR=lua
PROG ?= ./lunamark
TESTOPTS ?= --tidy
NUM ?= 25
benchtext=benchtext.txt
testfile=tmptest.txt
.PHONY : all test
all : lunamark lunamark.1
lunamark: lunamark.c main.squished.lua.embed $(OBJS) $(LUADIR)/liblua.a
$(CC) -o $@ $< $(OBJS) -llua -lm -ldl
$(LUADIR)/liblua.a : $(wildcard $(LUADIR)/*.h) $(wildcard $(LUADIR)/*.c) $(LUADIR)/Makefile
make liblua.a -C $(LUADIR) MYCFLAGS=-DLUA_USE_LINUX
# note: LUA_USE_LINUX is recommended for linux, osx, freebsd
main.squished.lua : src/main.lua $(wildcard src/*.lua) $(wildcard src/*/*.lua) $(wildcard src/*/*/*.lua)
(cd src && lua ../squish.lua)
lpeg.o : lpeg.c lpeg.h $(LUADIR)/liblua.a
slnunico.o : slnunico.c slnudata.c
%.embed : %
xxd -i $< > $@
lunamark.1 : src/main.lua lunamark
sed '1,/^@startman/d;/^@stopman/,$$d' $< | ./lunamark -Xdefinition_lists,notes,-smart -t man -s -d section=1,title=$(subst bin/,,$<),left_footer="${version}",date="${date}" -o $@
test:
LUNAMARK_EXTENSIONS="" scripts/shtest ${TESTOPTS} -p ${PROG} ${OPTS}
${benchtext}:
for i in tests/Markdown_1.0.3/*.test; do sed -e '1,/<<</d;/>>>/,$$d' "$$i" >> $@; echo >> $@.txt; done
${testfile}: ${benchtext}
cat < /dev/null > ${testfile} ; \
x=${NUM}; \
while [ $$x -gt 0 ]; do \
cat $< >> $@; \
x=$$(($$x-1)); \
done
bench: ${testfile}
time -p ${PROG} < ${testfile} > /dev/null
clean:
make -C $(LUADIR) clean
rm $(lunamarkS) $(OBJS) lunamark main.squished.lua.embed lunamark.1
rm ${benchtext} ${testfile}