aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorChristian Hesse <mail@eworm.de>2017-05-30 23:23:19 +0200
committerMarc André Tanner <mat@brain-dump.org>2017-05-31 15:37:25 +0200
commit7d88cb3c1392393c2910f2f96c93549bb5482f9f (patch)
tree55cd50da43661732c3d94cdafcc801ae8e4b4349 /Makefile
parent6a7802cd15d6921951cd4940229f038e631d7473 (diff)
downloadvis-7d88cb3c1392393c2910f2f96c93549bb5482f9f.tar.gz
vis-7d88cb3c1392393c2910f2f96c93549bb5482f9f.tar.xz
build: allow to build self-contained executable
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile16
1 files changed, 15 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index dd896e2..b71238a 100644
--- a/Makefile
+++ b/Makefile
@@ -72,6 +72,20 @@ vis-menu: vis-menu.c
vis-digraph: vis-digraph.c
${CC} ${CFLAGS} ${CFLAGS_AUTO} ${CFLAGS_STD} ${CFLAGS_EXTRA} $< ${LDFLAGS} ${LDFLAGS_STD} ${LDFLAGS_AUTO} -o $@
+vis-single-payload.inc: $(EXECUTABLES) lua/*
+ echo '#ifndef VIS_SINGLE_PAYLOAD_H' > vis-single-payload.inc
+ echo '#define VIS_SINGLE_PAYLOAD_H' >> vis-single-payload.inc
+ echo 'unsigned char vis_single_payload[] = {' >> vis-single-payload.inc
+ tar c $(EXECUTABLES) $$(find lua -name '*.lua') | xz | od -t x1 -A none -v | \
+ sed 's/\([0-9a-f]\+\)/0x\1,/g;$$s/,$$/ };/' >> vis-single-payload.inc
+ echo '#endif' >> vis-single-payload.inc
+
+vis-single: vis-single.c vis-single-payload.inc
+ for e in $(ELF); do \
+ ${STRIP} "$$e"; \
+ done
+ ${CC} ${CFLAGS} ${CFLAGS_AUTO} ${CFLAGS_STD} ${CFLAGS_EXTRA} $< ${LDFLAGS} ${LDFLAGS_STD} ${LDFLAGS_AUTO} -larchive -lacl -lbz2 -llzma -o $@
+
debug: clean
@$(MAKE) CFLAGS_EXTRA='${CFLAGS_EXTRA} ${CFLAGS_DEBUG}'
@@ -91,7 +105,7 @@ test:
clean:
@echo cleaning
- @rm -f $(ELF) vis-single vis-*.tar.gz *.gcov *.gcda *.gcno
+ @rm -f $(ELF) vis-single vis-single-payload.inc vis-*.tar.gz *.gcov *.gcda *.gcno
dist: clean
@echo creating dist tarball