Merge 0.10->trunk
[prosody.git] / util-src / Makefile
index fdb689dd1cf8a2425d611ac673b69252b1c5c849..9c6c377c14a56fd4816729ebf4f45b77a9e5e17f 100644 (file)
@@ -1,27 +1,34 @@
 
 include ../config.unix
 
-LUA_SUFFIX?=5.1
-LUA_INCDIR?=/usr/include/lua$(LUA_SUFFIX)
-LUA_LIB?=lua$(LUA_SUFFIX)
-IDN_LIB?=idn
-OPENSSL_LIB?=crypto
+CFLAGS+=-ggdb -Wall -pedantic -I$(LUA_INCDIR)
 
+INSTALL_DATA=install -m644
+TARGET?=../util/
 
+ALL=encodings.so hashes.so net.so pposix.so signal.so table.so ringbuffer.so
 
-all: encodings.so hashes.so
+ifdef RANDOM
+ALL+=crand.so
+endif
 
-install: encodings.so hashes.so
-       install -s *.so ../util/
-       
+.PHONY: all install clean
+.SUFFIXES: .c .o .so
+
+all: $(ALL)
+
+install: $(ALL)
+       $(INSTALL_DATA) $^ $(TARGET)
 
 clean:
-       rm -f *.so
-       rm -f ../util/*.so
+       rm -f $(ALL) $(patsubst %.so,%.o,$(ALL))
+
+encodings.so: LDLIBS+=$(IDNA_LIBS)
+
+hashes.so: LDLIBS+=$(OPENSSL_LIBS)
 
-encodings.so: encodings.c
-       gcc $(CFLAGS) encodings.c -I$(LUA_INCDIR) -l$(LUA_LIB) -l$(IDN_LIB) -o encodings.so
+crand.o: CFLAGS+=-DWITH_$(RANDOM)
+crand.so: LDLIBS+=$(RANDOM_LIBS)
 
-hashes.so: hashes.c
-       gcc $(CFLAGS) hashes.c -I$(LUA_INCDIR) -l$(LUA_LIB) -l$(OPENSSL_LIB) -o hashes.so
-       
+%.so: %.o
+       $(LD) $(LDFLAGS) -o $@ $^ $(LDLIBS)