##################
# Configure here #
##################

# All files will be copied here
BASEDIR=/usr/local/ppaSet
# Simlink will be made here, so binaries are in the default PATH
BINDIR=/usr/local/bin
# Used in the code
LPR=/usr/bin/lpr
# Can be any other that acepts -e option
XTERM=/usr/bin/X11/xterm
# We need to know where pnm2ppa and calibrate_ppa are installed
PNM2PPA=/usr/local/bin/pnm2ppa
CALIBRATE_PPA=/usr/local/bin/calibrate_ppa

######### gPpaSet only ########
# A pager: more, less,... even lynx
PAGER=/usr/bin/less

######### nPpaSet only ########
# The dialog program. Actually not needed.
DIALOGPROGRAM=/usr/bin/dialog




# We need to know the path to the dialog library
# Headers (dialog.h) are not usually installed in the system,
# so we provide them in dialog/ directory
DIALOG=dialog

#################################
# Do not edit bellow this point #
#################################

all: gPpaSet nPpaSet getHome

CC=gcc -g
LD=gcc
#TEST=$(BASEDIR)/t.ps
TEST=$(BASEDIR)/test
CALIBRATION=$(BASEDIR)/calibration
GAMMAREF=$(BASEDIR)/gammaRef
CLEAN=$(BASEDIR)/cleanHeads

LDFLAGS=
CFLAGS=-DBASEDIR=\"$(BASEDIR)\" -DLPR=\"$(LPR)\" -DTEST=\"$(TEST)\" -DCALIBRATION=\"$(CALIBRATION)\" -DGAMMAREF=\"$(GAMMAREF)\" -DCLEAN=\"$(CLEAN)\" -DXTERM=\"$(XTERM)\" -DPAGER=\"$(PAGER)\" -DDIALOGPROGRAM=\"$(DIALOGPROGRAM)\"

gPpaSet: gPpaSet.o getHome.o ppaSetBase.o
	$(LD) $(LDFLAGS) -o gPpaSet gPpaSet.o ppaSetBase.o getHome.o `gtk-config --libs`

gPpaSet.o: gPpaSet.c getHome.h ppaSetBase.h
	$(CC) $(CFLAGS) -c -o gPpaSet.o gPpaSet.c `gtk-config --cflags`

nPpaSet: nPpaSet.o getHome.o ppaSetBase.o
	CC="$(CC)" CFLAGS="$(CFLAGS) -DNPPASET" make -C dialog all
	$(LD) -o nPpaSet nPpaSet.o ppaSetBase.o getHome.o $(DIALOG)/*.o $(LDFLAGS) -lpanel -lcurses -lm

nPpaSet.o: nPpaSet.c getHome.h ppaSetBase.h
	$(CC) $(CFLAGS) -c -o nPpaSet.o nPpaSet.c -DNPPASET

ppaSetBase.o: ppaSetBase.c ppaSetBase.h getHome.h defaults.h
	$(CC) $(CFLAGS) -c -o ppaSetBase.o ppaSetBase.c

getHome: getHomeMain.c getHome.o
	$(LD) $(LDFLAGS) -o getHome getHomeMain.c getHome.o

getHome.o: getHome.c
	$(CC) $(CFLAGS) -c -o getHome.o getHome.c

install: getHome gPpaSet nPpaSet ppa.if 
	./install $(BASEDIR) $(BINDIR) $(CALIBRATE_PPA) $(PNM2PPA)

install-g: getHome gPpaSet ppa.if 
	./install $(BASEDIR) $(BINDIR) $(CALIBRATE_PPA) $(PNM2PPA)

install-n: getHome nPpaSet ppa.if 
	./install $(BASEDIR) $(BINDIR) $(CALIBRATE_PPA) $(PNM2PPA)

clean:
	rm -f *.o
	rm -f getHome
	rm -f nPpaSet
	rm -f gPpaSet
	rm -f *~
	make -C dialog clean

