forked from luakit/luakit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
99 lines (79 loc) · 3.01 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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# Include makefile config
include config.mk
# Token lib generation
TLIST = common/tokenize.list
THEAD = common/tokenize.h
TSRC = common/tokenize.c
SRCS = $(filter-out $(TSRC),$(wildcard *.c) $(wildcard common/*.c) $(wildcard clib/*.c) $(wildcard clib/soup/*.c) $(wildcard widgets/*.c)) $(TSRC)
HEADS = $(wildcard *.h) $(wildcard common/*.h) $(wildcard widgets/*.h) $(wildcard clib/*.h) $(wildcard clib/soup/*.h) $(THEAD) globalconf.h
OBJS = $(foreach obj,$(SRCS:.c=.o),$(obj))
all: options newline luakit luakit.1.gz
options:
@echo luakit build options:
@echo "CC = $(CC)"
@echo "LUA_PKG_NAME = $(LUA_PKG_NAME)"
@echo "CFLAGS = $(CFLAGS)"
@echo "CPPFLAGS = $(CPPFLAGS)"
@echo "LDFLAGS = $(LDFLAGS)"
@echo "INSTALLDIR = $(INSTALLDIR)"
@echo "MANPREFIX = $(MANPREFIX)"
@echo "DOCDIR = $(DOCDIR)"
@echo
@echo build targets:
@echo "SRCS = $(SRCS)"
@echo "HEADS = $(HEADS)"
@echo "OBJS = $(OBJS)"
$(THEAD) $(TSRC): $(TLIST)
./build-utils/gentokens.lua $(TLIST) $@
globalconf.h: globalconf.h.in
sed 's#LUAKIT_INSTALL_PATH .*#LUAKIT_INSTALL_PATH "$(PREFIX)/share/luakit"#' globalconf.h.in > globalconf.h
$(OBJS): $(HEADS) config.mk
.c.o:
@echo $(CC) -c $< -o $@
@$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
widgets/webview.o: $(wildcard widgets/webview/*.c)
luakit: $(OBJS)
@echo $(CC) -o $@ $(OBJS)
@$(CC) -o $@ $(OBJS) $(LDFLAGS)
luakit.1: luakit.1.in
@sed "s/LUAKITVERSION/$(VERSION)/" $< > $@
luakit.1.gz: luakit.1
@gzip -c $< > $@
apidoc: luadoc/luakit.lua
mkdir -p apidocs
luadoc --nofiles -d apidocs luadoc/* lib/*
doc: globalconf.h $(THEAD) $(TSRC)
doxygen -s luakit.doxygen
clean:
rm -rf apidocs doc luakit $(OBJS) $(TSRC) $(THEAD) globalconf.h luakit.1
install:
install -d $(INSTALLDIR)/share/luakit/
install -d $(DOCDIR)
install -m644 README.md AUTHORS COPYING* $(DOCDIR)
cp -r lib $(INSTALLDIR)/share/luakit/
chmod 755 $(INSTALLDIR)/share/luakit/lib/
chmod 755 $(INSTALLDIR)/share/luakit/lib/lousy/
chmod 755 $(INSTALLDIR)/share/luakit/lib/lousy/widget/
chmod 644 $(INSTALLDIR)/share/luakit/lib/*.lua
chmod 644 $(INSTALLDIR)/share/luakit/lib/lousy/*.lua
chmod 644 $(INSTALLDIR)/share/luakit/lib/lousy/widget/*.lua
install -d $(INSTALLDIR)/bin
install luakit $(INSTALLDIR)/bin/luakit
install -d $(DESTDIR)/etc/xdg/luakit/
install config/*.lua $(DESTDIR)/etc/xdg/luakit/
chmod 644 $(DESTDIR)/etc/xdg/luakit/*.lua
install -d $(DESTDIR)/usr/share/pixmaps
install -m0644 extras/luakit.png $(DESTDIR)/usr/share/pixmaps/
install -d $(DESTDIR)/usr/share/applications
install -m0644 extras/luakit.desktop $(DESTDIR)/usr/share/applications/
install -d $(MANPREFIX)/man1/
install -m644 luakit.1.gz $(MANPREFIX)/man1/
uninstall:
rm -rf $(INSTALLDIR)/bin/luakit $(INSTALLDIR)/share/luakit $(MANPREFIX)/man1/luakit.1
rm -rf /usr/share/applications/luakit.desktop /usr/share/pixmaps/luakit.png
lunit:
git clone git://repo.or.cz/lunit.git
run-tests: luakit lunit
@./luakit -c tests/lunit-run.lua tests/test_*.lua
newline: options;@echo
.PHONY: all clean options install newline apidoc doc