aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorGravatar Christian Hesse <mail@eworm.de>2014-09-09 12:38:27 +0200
committerGravatar Christian Hesse <mail@eworm.de>2014-09-09 12:38:27 +0200
commit750903c2014a04bcbca2c4463be67a422b443587 (patch)
tree97f729ad2131f70d242b1a3a16dc97de5526208a /Makefile
parent8e08071f6a23e0975746922420fa94cd4a4c3092 (diff)
downloadcqrlogo-750903c2014a04bcbca2c4463be67a422b443587.tar.gz
cqrlogo-750903c2014a04bcbca2c4463be67a422b443587.tar.zst
allow to build binaries statically linked against libcqrlogo
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile26
1 files changed, 22 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index ae1762f..98bdfc6 100644
--- a/Makefile
+++ b/Makefile
@@ -17,6 +17,11 @@ SED := sed
ZBARIMG := zbarimg
# flags
CFLAGS += -O2 -Wall -Werror
+CFLAGSSTATIC = $(CFLAGS)
+CFLAGSSTATIC += -liniparser
+CFLAGSSTATIC += $(shell pkg-config --cflags --libs libpng)
+CFLAGSSTATIC += $(shell pkg-config --cflags --libs zlib)
+CFLAGSSTATIC += $(shell pkg-config --cflags --libs libqrencode)
# calls to compiled binary files
CQRLOGO_CGI += LD_LIBRARY_PATH=lib/ ./cqrlogo.cgi
CQRLOGO_FCGI += LD_LIBRARY_PATH=lib/ ./cqrlogo.fcgi
@@ -28,15 +33,26 @@ SOVERSION := 0
all: lib/libcqrlogo.so cqrlogo.cgi cqrlogo.fcgi README.html cqrlogo.png
-lib/libcqrlogo.so: lib/libcqrlogo.c lib/libcqrlogo.h config.h version.h
- SOVERSION=$(SOVERSION) $(MAKE) -C lib
+static: cqrlogo.cgi.static cqrlogo.fcgi.static
+
+lib/libcqrlogo.so: lib/Makefile lib/libcqrlogo.c lib/libcqrlogo.h config.h version.h
+ SOVERSION=$(SOVERSION) $(MAKE) -C lib libcqrlogo.so
+
+lib/libcqrlogo.o: lib/Makefile lib/libcqrlogo.c lib/libcqrlogo.h config.h version.h
+ $(MAKE) -C lib libcqrlogo.o
cqrlogo.cgi: lib/libcqrlogo.so cqrlogo.c cqrlogo.h config.h version.h
$(CC) $(CFLAGS) -lcqrlogo -Llib/ -Ilib/ $(LDFLAGS) -DHAVE_FCGI=0 -o cqrlogo.cgi cqrlogo.c
+cqrlogo.cgi.static: lib/libcqrlogo.o cqrlogo.c cqrlogo.h config.h version.h
+ $(CC) $(CFLAGSSTATIC) -Ilib/ $(LDFLAGS) -DHAVE_FCGI=0 -o cqrlogo.cgi.static cqrlogo.c lib/libcqrlogo.o
+
cqrlogo.fcgi: lib/libcqrlogo.so cqrlogo.c cqrlogo.h config.h version.h
$(CC) $(CFLAGS) -lcqrlogo -Llib/ -Ilib/ -lfcgi $(LDFLAGS) -DHAVE_FCGI=1 -o cqrlogo.fcgi cqrlogo.c
+cqrlogo.fcgi.static: lib/libcqrlogo.o cqrlogo.c cqrlogo.h config.h version.h
+ $(CC) $(CFLAGSSTATIC) -Ilib/ -lfcgi $(LDFLAGS) -DHAVE_FCGI=1 -o cqrlogo.fcgi.static cqrlogo.c lib/libcqrlogo.o
+
version.h: $(wildcard .git/HEAD .git/index .git/refs/tags/*) Makefile
echo "#ifndef VERSION" > $@
echo "#define VERSION \"$(shell git describe --tags --long 2>/dev/null || echo ${VERSION})\"" >> $@
@@ -251,10 +267,12 @@ check:
$(GREP) -e '^This QR Code has been stolen from https://eworm.net/!$$'
clean:
- $(RM) -f *.o *~ *.png README.html lib/libcqrlogo.so lib/libcqrlogo.so.* cqrlogo.cgi cqrlogo.fcgi version.h
+ $(RM) -f *.png README.html cqrlogo.cgi cqrlogo.fcgi cqrlogo.cgi.static cqrlogo.fcgi.static version.h
+ $(MAKE) -C lib clean
distclean:
- $(RM) -f *.o *~ *.png README.html lib/libcqrlogo.so lib/libcqrlogo.so.* cqrlogo.cgi cqrlogo.fcgi version.h config.h
+ $(RM) -f *~ *.png README.html cqrlogo.cgi cqrlogo.fcgi cqrlogo.cgi.static cqrlogo.fcgi.static version.h config.h
+ $(MAKE) -C lib distclean
release:
git archive --format=tar.xz --prefix=cqrlogo-$(VERSION)/ $(VERSION) > cqrlogo-$(VERSION).tar.xz