count is an in/out, not just an out var
[blerg.git] / Makefile
index 850da29..fe4691f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,10 @@
 include libs.mk
 
+ARCH=$(shell uname -m)
 CFLAGS ?= -g
+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)
@@ -8,23 +12,27 @@ LDFLAGS ?=
 HTTP_LIBDIRS = $(MHD_LIBDIR) $(YAJL_LIBDIR)
 CGI_LIBDIRS = $(CGI_UTIL_LIBDIR) $(YAJL_LIBDIR)
 
-targets = blerg.a blergtool blerglatest blerg.cgi www/build/enyo-blerg.js
+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
-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 builddeps/scrypt.a 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) builddeps/*.a
+       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 $@
 
@@ -54,5 +62,5 @@ 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
+       make -C builddeps/scrypt-1.1.6/lib/crypto CFLAGS="$(CFLAGS)"
        cp builddeps/scrypt-1.1.6/lib/crypto/scrypt.a builddeps/