- rm -f *.so
- rm -f ../util/*.so
-
-encodings.o: encodings.c
- gcc $(CFLAGS) -I$(LUA_INCDIR) -c -o encodings.o encodings.c
-encodings.so: encodings.o
- export MACOSX_DEPLOYMENT_TARGET="10.3"; gcc $(LFLAGS) -o encodings.so encodings.o -L/usr/local/lib -llua$(LUA_SUFFIX) -lcrypto -lidn
-
-
-hashes.o: hashes.c
- gcc $(CFLAGS) -I$(LUA_INCDIR) -c -o hashes.o hashes.c
-hashes.so: hashes.o
- export MACOSX_DEPLOYMENT_TARGET="10.3"; gcc $(LFLAGS) -o hashes.so hashes.o -L/usr/local/lib -llua$(LUA_SUFFIX) -lcrypto -lssl
-
+ rm -f $(ALL) $(patsubst %.so,%.o,$(ALL))
+
+encodings.so: LDLIBS+=$(IDNA_LIBS)
+
+hashes.so: LDLIBS+=$(OPENSSL_LIBS)
+
+crand.o: CFLAGS+=-DWITH_$(RANDOM)
+crand.so: LDLIBS+=$(RANDOM_LIBS)
+
+%.so: %.o
+ $(LD) $(LDFLAGS) -o $@ $^ $(LDLIBS)