PREFIX = /tmp/buildd/ros-fuerte-joystick-drivers-1.8.2/debian/ros-fuerte-joystick-drivers/opt/ros/fuerte/stacks/joystick_drivers/spacenav/libspnav
srcdir = .
libdir = lib
user_cflags = -g -O2
dbg = -g
opt = -O3
magellan_obj = spnav_magellan.o
xlib = -lX11

obj = spnav.o $(magellan_obj)
hdr = spnav.h spnav_magellan.h spnav_config.h
lib_a = libspnav.a
soname = libspnav.so.0
lib_so = $(soname).1
devlink = libspnav.so

CC = gcc
AR = ar
CFLAGS = $(opt) $(dbg) -std=c89 -fpic -pedantic -Wall -fno-strict-aliasing -I. -I/usr/local/include $(user_cflags)
LDFLAGS = $(user_ldflags)

.PHONY: all
all: $(lib_a) $(lib_so)

$(lib_a): $(obj)
	$(AR) rcs $@ $(obj)

$(lib_so): $(obj)
	$(CC) -shared -Wl,-soname,$(soname) -o $@ $(obj) $(LDFLAGS)

%.o: $(srcdir)/%.c
	$(CC) $(CFLAGS) -c $< -o $@

.PHONY: clean
clean:
	rm -f $(obj)

.PHONY: cleandist
distclean:
	rm -f $(obj) $(lib_a) $(lib_so) Makefile

.PHONY: install
install: $(lib_a) $(lib_so)
	mkdir -p $(DESTDIR)$(PREFIX)/$(libdir) $(DESTDIR)$(PREFIX)/include
	cp $(lib_a) $(DESTDIR)$(PREFIX)/$(libdir)/$(lib_a)
	cp $(lib_so) $(DESTDIR)$(PREFIX)/$(libdir)/$(lib_so)
	rm -f $(DESTDIR)$(PREFIX)/$(libdir)/$(soname) $(DESTDIR)$(PREFIX)/$(libdir)/$(devlink)
	ln -s $(DESTDIR)$(PREFIX)/$(libdir)/$(lib_so) $(DESTDIR)$(PREFIX)/$(libdir)/$(soname)
	ln -s $(DESTDIR)$(PREFIX)/$(libdir)/$(soname) $(DESTDIR)$(PREFIX)/$(libdir)/$(devlink)
	for h in $(hdr); do cp -p $(srcdir)/$$h $(DESTDIR)$(PREFIX)/include/; done

.PHONY: uninstall
uninstall:
	rm -f $(DESTDIR)$(PREFIX)/$(libdir)/$(lib_a)
	rm -f $(DESTDIR)$(PREFIX)/$(libdir)/$(lib_so)
	rm -f $(DESTDIR)$(PREFIX)/$(libdir)/$(soname)
	rm -f $(DESTDIR)$(PREFIX)/$(libdir)/$(devlink)
	for i in $(hdr); do rm -f $(DESTDIR)$(PREFIX)/include/$$i; done

