# IMWheel Makefile
# Version 0.9
# best used with gmake!

CC=gcc
INCDIRS=-I/usr/X11R6/include -Ijax
LIBDIRS=-L/usr/X11R6/lib 
LIBS=-lX11 -lXtst
#FLAGS=-ggdb -DDEBUG -Wall
FLAGS=-O2 -s -Wall
INSTALLDIR=/usr/local/bin
PIDDIR=/var/run
CFLAGS=$(FLAGS) $(INCDIRS) -DPIDDIR="\"$(PIDDIR)\""
LDFLAGS=$(FLAGS) $(LIBDIRS) $(LIBS)

all: jaxLib imwheel gpm

gpm:
	cd gpm-imwheel ; \
	./configure ; \
	make gpm ; \
	mv gpm ../

imwheel: imwheel.o util.o cfg.o jax/libjax.a

jaxLib:
	make -C jax

imwheel.o: imwheel.c util.h

new: clean all

tgz: nuke
	set -x ; for f in README BUGS CHANGES COPYING ; do cp $$f $$f.tmp ; expand -t4 $$f.tmp > $$f ; rm $$f.tmp ; done ; set +x
	FNAME=`basename $$PWD` ; tar -zcvf ../$$FNAME.tar.gz -C .. $$FNAME

clean:
	rm -f *.o

nuke: clean
	rm -f imwheel gpm
	-make -C jax nuke
	-make -C gpm-imwheel distclean

install: all
	install -m 755 -s imwheel $(INSTALLDIR)
	@setuid='' ;\
	while [ "x$$setuid" == x ] ; do \
		read -p 'Shall I setuid root the imwheel executable [Y/n]?' setuid ;\
		case "$$setuid" in \
			y|Y|'') echo 'Setting UID, this is best for non-root usage!' ;\
					echo 'This does not effect root users. (duh!)' ;\
					chmod 4755 $(INSTALLDIR)/imwheel ; \
					setuid=y ;;\
			n|N) echo 'This may cause problems for users other than root!' ;;\
			*) setuid='' ;;\
		esac ;\
	done
	install -m 755 -s gpm /usr/bin
	@[ -e /etc/imwheelrc ] \
		&& echo "/etc/imwheelrc already exists, not installing." \
		|| (set -x;install -m 644 -o root imwheelrc /etc/imwheelrc)
	@[ -e $(HOME)/.imwheelrc ] \
		&& echo "$(HOME)/.imwheelrc already exists, not installing." \
		|| (set -x;install -m 644 imwheelrc $(HOME)/.imwheelrc)
