diff --git Makefile Makefile index 1c5aa98..167225a 100644 --- Makefile +++ Makefile @@ -1,34 +1,33 @@ VERSION = 1.0 -CFLAGS = -O2 -Wall -g -CC = gcc -LDFLAGS = -LD = $(CC) -prefix = /usr +CFLAGS ?= -O2 -Wall -g +CC ?= gcc +LDFLAGS ?= +LD ?= $(CC) +prefix = $(PREFIX) libdir = $(prefix)/lib -OBJS = syncdir.o LOBJS = syncdir.lo -all: libsyncdir.so libsyncdir.a +LIBTOOL = libtool --tag=CC -testsync: testsync.o libsyncdir.a - $(LD) $(LDFLAGS) -o $@ $< libsyncdir.a +all: libsyncdir.la -libsyncdir.so: $(LOBJS) - $(LD) $(LDFLAGS) -shared -Wl,-soname,libsyncdir.so \ - -o libsyncdir.so $(LOBJS) +.SUFFIXES: .lo +.c.lo: + $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) -c -o $@ $< -syncdir.lo: syncdir.c - $(CC) $(CFLAGS) -fPIC -DPIC -o $@ -c $< -syncdir.o: syncdir.c +testsync: testsync.lo libsyncdir.la + $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o $@ $< libsyncdir.la -libsyncdir.a: $(OBJS) - ar r libsyncdir.a $(OBJS) +libsyncdir.la: libtool-version-info $(LOBJS) + $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o $@ $(LOBJS) -version-info `cat libtool-version-info` -rpath $(libdir) + +libtool-version-info: + echo $(VERSION) | awk -F. '{ printf "%d:%d:0", $$1, $$2 }' > $@ install: all - install -m 755 libsyncdir.so $(libdir) - install -m 644 libsyncdir.a $(libdir) + $(LIBTOOL) --mode=install $(BSD_INSTALL_LIB) libsyncdir.la $(DESTDIR)$(libdir) TARGET = syncdir-$(VERSION) FILES = Makefile COPYING syncdir.c syncdir.spec testsync.c @@ -39,5 +38,5 @@ distrib: $(RM) -r $(TARGET) clean: - $(RM) core *.o *.lo *.so *.a testsync $(TARGET).tar.gz - + $(RM) libtool-version-info core *.o *.lo *.la *.so *.a testsync $(TARGET).tar.gz + $(RM) -r .libs diff --git syncdir.c syncdir.c index 0b4c91e..2ec2b46 100644 --- syncdir.c +++ syncdir.c @@ -25,7 +25,7 @@ #undef open #include #include -#include +#include #include #include diff --git testsync.c testsync.c index 193d21f..351885e 100644 --- testsync.c +++ testsync.c @@ -2,7 +2,7 @@ #include #include -inline void msg(const char* m) +void msg(const char* m) { write(1, m, strlen(m)); }