CFLAGS= -Wall -Wmissing-declarations  -Wmissing-prototypes  -Wstrict-prototypes

all:	libsane-pxscan.so pxscansane

port.o:	port.c
	gcc -Wall -c -o port.o port.c

pxscansane.o:	pxscansane.c libpxscan.h
	gcc -Wall -c -o pxscansane.o pxscansane.c

pxscansane:	pxscansane.o port.o libpxscan.o
	gcc -o pxscansane -lm -ltiff -lieee1284 port.o pxscansane.o libpxscan.o	


libsane-pxscan.o:	libsane-pxscan.c libpxscan.h port.h
	gcc $(CFLAGS) -fPIC -DPIC -DSANE_MAJOR_VERSION=1 -DSANE_MINOR_VERSION=0 -DSANE_BUILD_VERSION=18 -c libsane-pxscan.c -o libsane-pxscan.o

libpxscanport.o:	port.c port.h
	gcc  $(CFLAGS)  -fPIC -DPIC -DSANE port.c -c -o libpxscanport.o
	
libpxscan.o:	libpxscan.c libpxscan.h port.h
	gcc  $(CFLAGS)  -fPIC -DPIC -DSANE libpxscan.c -c -o libpxscan.o


libsane-pxscan.so:		libsane-pxscan.o libpxscan.o libpxscanport.o
	rm -f libsane-pxscan.so.1.0.0
	gcc -shared libsane-pxscan.o  \
	-Wl,--whole-archive ./libpxscan.o \
	-Wl,--whole-archive ./libpxscanport.o \
        -Wl,--no-whole-archive  -lm /usr/lib/libieee1284.so \
	-lm /usr/lib/libieee1284.so \
	-Wl,-soname -Wl,libsane-pxscan.so.1 -Wl,-retain-symbols-file \
	-Wl,sane.sym -o libsane-pxscan.so.1.0.0

	
clean:
	rm -f *~
	rm -f *.o
	rm -f libpxscan.a
	rm -f libsane-pxscan.so.1.0.0
	rm -f libsane-pxscan.so.1
	rm -f pxscansane
	rm -f test.tiff
	rm -f out.pnm
		
debinstall:	all
	cp pxscansane "$(DESTDIR)/usr/bin"
	cp libsane-pxscan.so.1.0.0 "$(DESTDIR)"/usr/lib/sane/libsane-pxscan.so.1
	mkdir -p  "$(DESTDIR)"/etc/sane.d/dll.d/
	echo "pxscan" >  "$(DESTDIR)"/etc/sane.d/dll.d/pxscansane
	

install:	all
	cp libsane-pxscan.so.1.0.0 /usr/lib/sane/libsane-pxscan.so.1

