]> git.sesse.net Git - itkacl/blobdiff - itkacl-2.2/Makefile
Add an API for keeping a permanent library context, for performance reasons
[itkacl] / itkacl-2.2 / Makefile
diff --git a/itkacl-2.2/Makefile b/itkacl-2.2/Makefile
new file mode 100644 (file)
index 0000000..029de70
--- /dev/null
@@ -0,0 +1,44 @@
+CC=gcc
+CFLAGS=-O2 -Wall
+CPPFLAGS=
+LDLIBS=-lunbound
+RANLIB=ranlib
+PREFIX=/usr/local
+
+SONAME=libitkacl.so.2
+LIBNAME=libitkacl.so.2.0.1
+
+all: libitkacl.a $(LIBNAME) itkacl-test
+clean:
+       $(RM) itkacl.o itkacl.PIC.o itkacl-test.o itkacl-test libitkacl.a libitkacl.so.2.0.0
+
+itkacl-test: itkacl.o itkacl-test.o
+       $(CC) -o itkacl-test itkacl.o itkacl-test.o $(LDLIBS)
+
+itkacl.o: itkacl.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) -c itkacl.c -o itkacl.o
+itkacl.PIC.o: itkacl.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) -fPIC -c itkacl.c -o itkacl.PIC.o
+itkacl-test.o: itkacl-test.c
+       $(CC) $(CPPFLAGS) $(CFLAGS) -c itkacl-test.c -o itkacl-test.o
+
+libitkacl.a: itkacl.o
+       $(AR) rc $@ $<
+       $(RANLIB) $@
+$(LIBNAME): itkacl.PIC.o
+       $(CC) -shared -Wl,-soname,$(SONAME) -o $@ $< $(LDLIBS)
+
+install:
+       cp libitkacl.a $(DESTDIR)$(PREFIX)/lib/
+       cp $(LIBNAME) $(DESTDIR)$(PREFIX)/lib/
+       ln -s $(LIBNAME) $(DESTDIR)$(PREFIX)/lib/libitkacl.so.2
+       ln -s $(LIBNAME) $(DESTDIR)$(PREFIX)/lib/libitkacl.so
+       cp itkacl.h $(DESTDIR)$(PREFIX)/include/
+       mkdir -p $(DESTDIR)$(PREFIX)/share/itkacl/
+       cp itkacl.sql $(DESTDIR)$(PREFIX)/share/itkacl/
+       mkdir -p $(DESTDIR)$(PREFIX)/bin/
+       cp sync-itkacl.pl $(DESTDIR)$(PREFIX)/bin/sync-itkacl
+       mkdir -p $(DESTDIR)/etc/itkacl
+       cp config.pm $(DESTDIR)/etc/itkacl
+
+.PHONY: clean install