lunch-poll-legacy

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

Makefile (2495B)


      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: clean 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 	mkdir -p test
     42 	${CC} ${OPTIM_DEBUG} ${CFLAGS} -c src/http_test.c -static -o test/http_test.o
     43 	${CC} ${OPTIM_DEBUG} utils.o date-utils.o http.o test/http_test.o ${LIBS_BSD_OVERLAY} ${LIBS_SQLITE} -static -o test/http_test
     44 	test/http_test
     45 
     46 run-test-server: bin/mittag.cgi bin/var/mittag.db thttpd-2.29/thttpd
     47 	echo starting http daemon
     48 	echo try curl -i http://localhost:60100/mittag.cgi/votes
     49 	./thttpd-2.29/thttpd -p 60100 -c '**.cgi' -d ./bin/
     50 
     51 thttpd-2.29/thttpd:
     52 	wget -c http://www.acme.com/software/thttpd/thttpd-2.29.tar.gz -O - | tar -xzf -
     53 	cd thttpd-2.29 && ./configure && make
     54 
     55 var/mittag.db:
     56 	cat var/mittag.sql | sqlite3 var/mittag.db
     57 
     58 bin/var/mittag.db:
     59 	mkdir -p bin/var
     60 	cat var/mittag.sql | sqlite3 bin/var/mittag.db
     61 
     62 clean:
     63 	rm -f bin/mittag.cgi mittag.o utils.o date-utils.o http.o \
     64 		lunch-poll-legacy*.tar.gz
     65 	rm -fr test
     66 
     67 tags:
     68 	ctags -R . /usr/include/sqlite3*
     69 
     70 code-release:
     71 	tar -czf lunch-poll-legacy-${VERSION}.tar.gz \
     72 		LICENSE README Makefile src/* var/mittag.sql