X-Git-Url: http://git.bytex64.net/?a=blobdiff_plain;f=Makefile;h=e51f40a57db9285439ac38a0c64d12125682da69;hb=c8ad4bb20cb1e10d5ac906ce1928357d1e4b3180;hp=bf270462bc22245f7ba24b2e678b63ceae6d12d5;hpb=3d6d277d4cdfff7c11729cde0e2498b4b3912a98;p=blerg.git diff --git a/Makefile b/Makefile index bf27046..e51f40a 100644 --- a/Makefile +++ b/Makefile @@ -1,24 +1,53 @@ -CFLAGS = -g -Ilibmicrohttpd-0.9.3/src/include -Iyajl/build/yajl-1.0.11/include -LDFLAGS = -Llibmicrohttpd-0.9.3/src/daemon/.libs -Lyajl/build/yajl-1.0.11/lib +include libs.mk -targets = blerg.a blergtool http_blerg -blerg_a_objects = database.o tags.o -blergtool_objects = blergtool.o blerg.a -http_blerg_objects = http_blerg.o auth.o blerg.a +CFLAGS ?= -g +INCLUDES = -I. -Idatabase -Icommon $(YAJL_INCLUDES) +HTTP_INCLUDES = -Ihttp $(MHD_INCLUDES) +CGI_INCLUDES = -Icgi $(CGI_UTIL_INCLUDES) +LDFLAGS ?= +HTTP_LIBDIRS = $(MHD_LIBDIR) $(YAJL_LIBDIR) +CGI_LIBDIRS = $(CGI_UTIL_LIBDIR) $(YAJL_LIBDIR) + +targets = blerg.a blergtool blerglatest blerg.cgi rss.cgi www/build/enyo-blerg.js +blerg_a_objects = database/database.o database/tags.o database/util.o database/subscription.o common/stringbucket.o +blergtool_objects = tools/blergtool.o blerg.a +blerglatest_objects = tools/blerglatest.o blerg.a common/json.o +rss_objects = cgi/rss.o cgi/canned_responses.o common/app.o common/escapery.o blerg.a +http_blerg_objects = http/http_blerg.o http/canned_responses.o common/app.o common/json.o common/auth.o common/md5.o blerg.a +cgi_blerg_objects = cgi/cgi_blerg.o cgi/canned_responses.o common/app.o common/json.o common/auth.o common/md5.o blerg.a all: $(targets) clean: - rm -f $(targets) $(blerg_a_objects) $(blergtool_objects) $(http_blerg_objects) + rm -f $(targets) $(blerg_a_objects) $(blergtool_objects) $(blerglatest_objects) $(http_blerg_objects) $(cgi_blerg_objects) $(rss_objects) blerg.a: $(blerg_a_objects) ar rcu $@ $(blerg_a_objects) blergtool: $(blergtool_objects) - gcc $^ -o $@ + gcc $(LDFLAGS) $^ -o $@ + +blerglatest: $(blerglatest_objects) + gcc $(YAJL_LIBDIR) $(LDFLAGS) $^ -lyajl_s -o $@ + +blerg.httpd: $(http_blerg_objects) + gcc $(HTTP_LIBDIRS) $(LDFLAGS) $(http_blerg_objects) -lpthread -lmicrohttpd -lyajl_s -o $@ + +blerg.cgi: $(cgi_blerg_objects) + gcc $(CGI_LIBDIRS) $(LDFLAGS) $(cgi_blerg_objects) -lcgi-util -lyajl_s -o $@ -http_blerg: $(http_blerg_objects) - gcc $(LDFLAGS) $(http_blerg_objects) -lpthread -lmicrohttpd -lyajl_s -o $@ +rss.cgi: $(rss_objects) + gcc $(CGI_LIBDIRS) $(LDFLAGS) $(rss_objects) -lcgi-util -o $@ + +http/%.o: http/%.c + gcc $(INCLUDES) $(HTTP_INCLUDES) $(CFLAGS) -c $< -o $@ + +cgi/%.o: cgi/%.c + gcc $(INCLUDES) $(CGI_INCLUDES) $(CFLAGS) -c $< -o $@ %.o: %.c - gcc $(CFLAGS) $(LIBS) -c $< -o $@ + gcc $(INCLUDES) $(CFLAGS) -c $< -o $@ + +www/build/enyo-blerg.js: www/jssrc/blerg/* www/jssrc/package.js www/jssrc/package-min.js + which node >/dev/null # Please install Node.js to re-minify the JS + cd www/jssrc && enyo/tools/minify.sh -output ../build/enyo-blerg -no-alias package-min.js