X-Git-Url: http://git.bytex64.net/?a=blobdiff_plain;f=Makefile;h=fe4691f31bd220a5f074536464054eb4ad5be01f;hb=8cf18d84c5d5c49cfab0e181e9bb3c2777554da2;hp=57c37773e349c6e0b39c5d6da5299290da01d407;hpb=0a58d0737fd11728153d2128ea240f625cb600bc;p=blerg.git diff --git a/Makefile b/Makefile index 57c3777..fe4691f 100644 --- a/Makefile +++ b/Makefile @@ -1,29 +1,38 @@ include libs.mk +ARCH=$(shell uname -m) CFLAGS ?= -g -INCLUDES = -I. -Idatabase -Icommon $(YAJL_INCLUDES) +ifeq ($(ARCH),x86_64) + CFLAGS += -fPIC +endif +INCLUDES = -I. -Idatabase -Icommon -Ibuilddeps/scrypt-1.1.6/lib/crypto $(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.httpd blerg.cgi rss.cgi +targets = blerg.a blerg_auth.a blergtool blerglatest blerg.cgi www/build/enyo-blerg.js blerg_a_objects = database/database.o database/tags.o database/util.o database/subscription.o common/stringbucket.o +blerg_auth_a_objects = common/auth.o common/md5.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 blerg.a -cgi_blerg_objects = cgi/cgi_blerg.o cgi/canned_responses.o common/app.o common/json.o common/auth.o blerg.a +http_blerg_objects = http/http_blerg.o http/canned_responses.o common/app.o common/json.o blerg_auth.a builddeps/scrypt.a blerg.a +cgi_blerg_objects = cgi/cgi_blerg.o cgi/canned_responses.o common/app.o common/json.o blerg_auth.a builddeps/scrypt.a blerg.a all: $(targets) clean: - rm -f $(targets) $(blerg_a_objects) $(blergtool_objects) $(blerglatest_objects) $(http_blerg_objects) $(cgi_blerg_objects) $(rss_objects) + rm -f $(targets) $(blerg_a_objects) $(blerg_auth_a_objects) $(blergtool_objects) $(blerglatest_objects) $(http_blerg_objects) $(cgi_blerg_objects) builddeps/*.a + @make -C builddeps/scrypt-1.1.6 distclean + @make -C builddeps/scrypt-1.1.6/lib/crypto clean blerg.a: $(blerg_a_objects) ar rcu $@ $(blerg_a_objects) +blerg_auth.a: builddeps/scrypt.a $(blerg_auth_a_objects) + ar rcu $@ $(blerg_auth_a_objects) + blergtool: $(blergtool_objects) gcc $(LDFLAGS) $^ -o $@ @@ -36,9 +45,6 @@ blerg.httpd: $(http_blerg_objects) 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 $@ @@ -47,3 +53,14 @@ cgi/%.o: cgi/%.c %.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 + +builddeps/scrypt-1.1.6/config.h: + cd builddeps/scrypt-1.1.6 && ./configure + +builddeps/scrypt.a: builddeps/scrypt-1.1.6/config.h + make -C builddeps/scrypt-1.1.6/lib/crypto CFLAGS="$(CFLAGS)" + cp builddeps/scrypt-1.1.6/lib/crypto/scrypt.a builddeps/