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