Dist/packaging for most impls. erlang, racket *ARGV* fixes.
[jackhill/mal.git] / vimscript / Makefile
1 SOURCES_BASE = readline.vim types.vim reader.vim printer.vim
2 SOURCES_LISP = env.vim core.vim stepA_mal.vim
3 SOURCES = $(SOURCES_BASE) $(SOURCES_LISP)
4
5 all: libvimreadline.so
6
7 dist: mal.vim mal
8
9 mal.vim: $(SOURCES)
10 cat $+ | grep -v "^source " > $@
11
12 mal: mal.vim
13 echo "#!/bin/sh" > $@
14 echo "\":\" ; rundir=\`dirname \$$0\`" >> $@
15 echo "\":\" ; export LD_LIBRARY_PATH=\`readlink -f \$$rundir\`" >> $@
16 echo "\":\" ; exec vim -i NONE -V1 -nNesS \"\$$0\" -- \"\$$@\" 2>/dev/null" >> $@
17 cat $< >> $@
18 chmod +x $@
19
20
21 libvimreadline.so: vimreadline.o
22 $(CC) -g -shared -o $@ $< -lreadline
23
24 vimreadline.o: vimreadline.c
25 $(CC) -g -fPIC -c $< -o $@
26
27 clean:
28 rm -f vimreadline.o libvimreadline.so mal.vim mal
29
30 stats: $(SOURCES)
31 @wc $^
32 @printf "%5s %5s %5s %s\n" `grep -E "^[[:space:]]*\"|^[[:space:]]*$$" $^ | wc` "[comments/blanks]"
33 stats-lisp: $(SOURCES_LISP)
34 @wc $^
35 @printf "%5s %5s %5s %s\n" `grep -E "^[[:space:]]*\"|^[[:space:]]*$$" $^ | wc` "[comments/blanks]"
36
37 .PHONY: stats stats-lisp clean