#
# Simple Makefile to build libglues
# (c) 2010 by Till Harbaum
#

MAJOR = 1
MINOR = 4

LIB = libglues
STLIB = $(LIB).a
SHLIB = $(LIB).so
HDRDIR = /usr/include
LIBDIR = /usr/lib

CFLAGS = -O2 -c -Wall -I../include -D__LINUX__
OBJS = glues_error.o glues_mipmap.o glues_project.o glues_quad.o glues_registry.o

all: static # shared

.c.o:
	$(CC) $(INCS) $(CFLAGS) -c -o$@ $<

static: $(STLIB)
shared: $(SHLIB).$(MAJOR).$(MINOR)


$(STLIB): $(OBJS)
	rm -f $(STLIB)
	ar rcv $(STLIB) $(OBJS)
	-ranlib $(STLIB)

$(SHLIB).$(MAJOR).$(MINOR): $(OBJS)
	rm -f $(SHLIB)
	gcc -shared -Wl,-soname,$(SHLIB).$(MAJOR) -o $(SHLIB).$(MAJOR).$(MINOR) $(OBJS)
	rm -f $(SHLIB) $(SHLIB).$(MAJOR)
	ln -s $(SHLIB).$(MAJOR).$(MINOR) $(SHLIB).$(MAJOR)
	ln -s $(SHLIB).$(MAJOR) $(SHLIB)

install: $(STLIB) $(SHLIB).$(MAJOR).$(MINOR)
	install -d $(DESTDIR)$(LIBDIR)
	install $(STLIB) $(SHLIB).$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)
	rm -f $(DESTDIR)$(LIBDIR)/$(SHLIB)
	ln -s $(SHLIB).$(MAJOR) $(DESTDIR)$(LIBDIR)/$(SHLIB)
	rm -f $(DESTDIR)$(LIBDIR)/$(SHLIB).$(MAJOR)
	ln -s $(SHLIB).$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)/$(SHLIB).$(MAJOR)
	install -d $(DESTDIR)$(HDRDIR)
	install ../include/*.h $(DESTDIR)$(HDRDIR)

clean:
	rm -f *.[oa] *~ $(SHLIB) $(STLIB)
