+PACKAGE = preload-hacks
+VERSION = 1.0.0
+
+prefix = /usr/local
+exec_prefix = ${prefix}
+bindir = ${exec_prefix}/bin
+libdir = ${exec_prefix}/lib
+mandir = ${prefix}/man
+man1dir = ${mandir}/man1
+
CC = gcc
LD = gcc
CFLAGS = -O2 -g -fPIC -Wall
LDFLAGS = -shared
-LIBS = -ldl
+LDLIBS = -ldl
+INST_BIN = install -c -m755
+INST_LIB = install -c -m644
+INST_MAN = install -c -m644
+INST_BIN = install -c -m755
+MKDIRS = install -d -m755
+DESTDIR =
-SOURCES = noip.c uopen.c
-TARGETS = noip.so uopen.so
+LIBS = noip.so uopen.so
+MAN1 = $(patsubst %.so, %.1, $(LIBS))
+SCRIPTS = $(patsubst %.so, %, $(LIBS))
+TARGETS = $(LIBS) $(SCRIPTS)
+SOURCES = noip.c uopen.c withlib.in
all: $(TARGETS)
%.o: %.c
$(CC) -c $(CFLAGS) $< -o $@
noip.so: $(patsubst %.c, %.o, noip.c)
- $(LD) $(LDFLAGS) $< $(LIBS) -o $@
+ $(LD) $(LDFLAGS) $< $(LDLIBS) -o $@
uopen.so: $(patsubst %.c, %.o, uopen.c)
- $(LD) $(LDFLAGS) $< $(LIBS) -o $@
+ $(LD) $(LDFLAGS) $< $(LDLIBS) -o $@
+$(SCRIPTS): withlib.in
+ for i in $(SCRIPTS); do \
+ sed "s/@lib@/$$i/" withlib.in >$$i.new || exit 1; \
+ mv $$i.new $$i || exit 1; \
+ done
+install: all
+ $(MKDIRS) $(addprefix $(DESTDIR), \
+ $(bindir) $(libdir) $(bindir) $(man1dir))
+ $(INST_LIB) $(LIBS) $(DESTDIR)$(libdir)
+ $(INST_BIN) $(SCRIPTS) $(DESTDIR)$(bindir)
+ $(INST_MAN) $(MAN1) $(DESTDIR)$(man1dir)
+uninstall:
+ rm -f $(addprefix $(DESTDIR)$(libdir)/, $(LIBS))
+ rm -f $(addprefix $(DESTDIR)$(bindir)/, $(SCRIPTS))
+ rm -f $(addprefix $(DESTDIR)$(man1dir)/, $(MAN1))
+DISTDIR = $(PACKAGE)-$(VERSION)
+DISTTAR = $(DISTDIR).tar.gz
+distdir:
+ rm -rf $(DISTDIR)
+ mkdir $(DISTDIR)
+ ln $(SOURCES) $(MAN1) Makefile COPYING $(DISTDIR)
+ mkdir $(DISTDIR)/debian
+ ln debian/rules debian/copyright debian/changelog debian/control \
+ debian/*.install $(DISTDIR)/debian
+dist: distdir
+ tar chozf $(DISTTAR) $(DISTDIR)
+ rm -rf $(DISTDIR)
clean:
- rm -f $(OBJECTS) $(TARGETS)
\ No newline at end of file
+ rm -f *.o $(OBJECTS) $(TARGETS)