-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathMakefile
More file actions
25 lines (19 loc) · 709 Bytes
/
Makefile
File metadata and controls
25 lines (19 loc) · 709 Bytes
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
LOLHTML_SRC_DIR=lol-html/c-api
LOLHTML_STATIC_LIB=$(LOLHTML_SRC_DIR)/target/release/liblolhtml.a
COMPAT_SRC_DIR=lua-compat-5.3/c-api
all: lolhtml.so
.PHONY: $(LOLHTML_STATIC_LIB)
$(LOLHTML_STATIC_LIB):
[ -d lol-html ] || ( echo "need to clone submodules" >&2 ; exit 1 )
cd lol-html/c-api && cargo build --release --locked
lolhtml.o: lolhtml.c
$(CC) -c -o $@ $(CFLAGS) -Wall -I"$(LOLHTML_SRC_DIR)/include" -I"$(COMPAT_SRC_DIR)" -fPIC $<
lolhtml.so: $(LOLHTML_STATIC_LIB) lolhtml.o
$(CC) -shared -o $@ -Wall -lpthread \
lolhtml.o \
-Wl,--whole-archive $(LOLHTML_STATIC_LIB) \
-Wl,--no-whole-archive
clean:
rm -fr lolhtml.o lolhtml.so
distclean: clean
cd lol-html/c-api && cargo clean