Blob Blame History Raw
VERSION = 0.6
PREFIX = /usr
CFLAGS = $(INIT_CFLAGS) -I. -ffast-math -fPIC

TARDIR = libgdither-$(VERSION)

all: libgdither.so.1.0

gdither.o: gdither.c gdither.h gdither_types_internal.h
	$(CC) $(CFLAGS) -c gdither.c

libgdither.so.1.0: gdither.o
	$(CC) $(LDFLAGS) -shared gdither.o -Wl,-soname,libgdither.so.1 -o libgdither.so.1.0

libgdither.pc: libgdither.pc.in Makefile
	sed -e 's|@VERSION@|$(VERSION)|' -e 's|@PREFIX@|$(PREFIX)|' \
		libgdither.pc.in > libgdither.pc

install: all
	mkdir -p $(DESTDIR)$(LIBDIR)
	install -pm 0755 libgdither.so* $(DESTDIR)$(LIBDIR)
	ln -s libgdither.so.1.0 $(DESTDIR)$(LIBDIR)/libgdither.so.1
	ln -s libgdither.so.1.0 $(DESTDIR)$(LIBDIR)/libgdither.so
	mkdir -p $(DESTDIR)$(PREFIX)/include/libgdither
	install -pm 0644 gdither.h $(DESTDIR)$(PREFIX)/include/libgdither
	install -pm 0644 gdither_types.h $(DESTDIR)$(PREFIX)/include/libgdither
	mkdir -p $(DESTDIR)$(LIBDIR)/pkgconfig/
	install -pm 0644 libgdither.pc $(DESTDIR)$(LIBDIR)/pkgconfig/

clean:
	rm -f *.o *.so
	(cd tests && make clean)
	(cd examples && make clean)

dist: all libgdither.pc
	rm -rf $(TARDIR)
	mkdir -p $(TARDIR)/tests $(TARDIR)/examples
	cp README COPYING Makefile *.c *.h libgdither.pc \
		$(TARDIR)
	cp tests/Makefile tests/*.[ch] tests/*.cc \
		$(TARDIR)/tests/ 
	cp examples/Makefile examples/*.[ch] \
		$(TARDIR)/examples/ 
	(cd $(TARDIR) && make test clean)
	tar cfz $(TARDIR).tar.gz $(TARDIR)
	@rm -rf $(TARDIR)

test: all
	(cd tests && make test)