Add enyo building; switch to minified JS
[blerg.git] / Makefile
index e804abe..e51f40a 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,17 +1,25 @@
+include libs.mk
+
 CFLAGS ?= -g
-INCLUDES = -I. -Idatabase -Imisc -Ilibmicrohttpd-0.9.3/src/include -Iyajl/build/yajl-1.0.11/include
+INCLUDES = -I. -Idatabase -Icommon $(YAJL_INCLUDES)
+HTTP_INCLUDES = -Ihttp $(MHD_INCLUDES)
+CGI_INCLUDES = -Icgi $(CGI_UTIL_INCLUDES)
 LDFLAGS ?=
-LIBDIRS = -Llibmicrohttpd-0.9.3/src/daemon/.libs -Lyajl/build/yajl-1.0.11/lib
+HTTP_LIBDIRS = $(MHD_LIBDIR) $(YAJL_LIBDIR)
+CGI_LIBDIRS = $(CGI_UTIL_LIBDIR) $(YAJL_LIBDIR)
 
-targets = blerg.a blergtool http_blerg
-blerg_a_objects = database/database.o database/tags.o
+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
-http_blerg_objects = http/http_blerg.o http/canned_responses.o misc/auth.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)
@@ -19,8 +27,27 @@ blerg.a: $(blerg_a_objects)
 blergtool: $(blergtool_objects)
        gcc $(LDFLAGS) $^ -o $@
 
-http_blerg: $(http_blerg_objects)
-       gcc $(LIBDIRS) $(LDFLAGS) $(http_blerg_objects) -lpthread -lmicrohttpd -lyajl_s -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 $@
+
+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 $(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