lunch-poll-legacy

Lunch Poll Legacy -- poll colleagues where to have lunch
Log | Files | Refs | README | LICENSE

Makefile (2238B)


      1 CC = cc
      2 
      3 # needed for strlcpy(3bsd) on Linux
      4 # install package 'libbsd-dev'!
      5 INCS_BSD_OVERLAY = `pkg-config --cflags libbsd-overlay`
      6 LIBS_BSD_OVERLAY = `pkg-config --libs libbsd-overlay`
      7 
      8 CFLAGS       = -std=c99 -pedantic -Wall -Wno-deprecated-declarations ${INCS_BSD_OVERLAY}
      9 
     10 OPTIM =       -Os
     11 OPTIM_DEBUG = -O0 -ggdb
     12 
     13 INCS_SQLITE = `pkg-config --cflags sqlite3`
     14 LIBS_SQLITE = `pkg-config --libs --static sqlite3`
     15 
     16 VERSION = `grep -Po '\bPROG_VERSION\b ".*?"' src/config.h | \
     17            sed -r 's/PROG_VERSION "(.*?)"/\1/g'`
     18 
     19 all: bin/mittag.cgi
     20 
     21 mittag.o: src/mittag.c
     22 	${CC} ${OPTIM_DEBUG} ${CFLAGS} ${INCS_SQLITE} -c src/mittag.c -static -o $@
     23 
     24 date-utils.o: src/date-utils.c
     25 	${CC} ${OPTIM_DEBUG} ${CFLAGS} -c src/date-utils.c -static -o $@
     26 
     27 utils.o: src/utils.c
     28 	${CC} ${OPTIM_DEBUG} ${CFLAGS} -c src/utils.c -static -o $@
     29 
     30 http.o: src/http.c
     31 	${CC} ${OPTIM_DEBUG} ${CFLAGS} -c src/http.c -static -o $@
     32 
     33 bin/mittag.cgi: utils.o date-utils.o http.o mittag.o
     34 	mkdir -p bin
     35 	${CC} ${OPTIM_DEBUG} utils.o date-utils.o http.o mittag.o ${LIBS_BSD_OVERLAY} ${LIBS_SQLITE} -static -o bin/mittag.cgi
     36 
     37 test: all var/mittag.db
     38 	#echo 'vote-2=2&vote-6=6&vote-43=43&name=m%C3%A4+%C3%9F+%C3%84+%C3%A9%20%E2%99%A5&date=2024-01-12' | PATH_INFO=/votes REQUEST_METHOD=POST CONTENT_TYPE=application/x-www-form-urlencoded bin/mittag.cgi
     39 	PATH_INFO=/votes QUERY_STRING="date=2012-05-10" REQUEST_METHOD=GET bin/mittag.cgi
     40 	#PATH_INFO=/votes QUERY_STRING="foobar=2024-07-27" REQUEST_METHOD=GET bin/mittag.cgi
     41 
     42 run-test-server: bin/mittag.cgi bin/var/mittag.db thttpd-2.29/thttpd
     43 	echo starting http daemon
     44 	echo try curl -i http://localhost:60100/mittag.cgi/votes
     45 	./thttpd-2.29/thttpd -p 60100 -c '**.cgi' -d ./bin/
     46 
     47 thttpd-2.29/thttpd:
     48 	wget -c http://www.acme.com/software/thttpd/thttpd-2.29.tar.gz -O - | tar -xzf -
     49 	cd thttpd-2.29 && ./configure && make
     50 
     51 var/mittag.db:
     52 	cat var/mittag.sql | sqlite3 var/mittag.db
     53 
     54 bin/var/mittag.db:
     55 	mkdir -p bin/var
     56 	cat var/mittag.sql | sqlite3 bin/var/mittag.db
     57 
     58 clean:
     59 	rm -f bin/mittag.cgi mittag.o utils.o date-utils.o http.o \
     60 		lunch-poll-legacy*.tar.gz
     61 
     62 tags:
     63 	ctags -R . /usr/include/sqlite3*
     64 
     65 code-release:
     66 	tar -czf lunch-poll-legacy-${VERSION}.tar.gz \
     67 		LICENSE README Makefile src/* var/mittag.sql