# $Id: Makefile,v 1.2 2004/09/24 14:16:15 andres Exp andres $


INSTALL = /usr/bin/install -c
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_SCRIPT = ${INSTALL}

prefix = /usr
exec_prefix = ${prefix}

bindir = ${exec_prefix}/bin
sbindir = ${exec_prefix}/sbin
datadir = ${prefix}/share
sysconfdir = /etc
localstatedir = /var
mandir = /usr/share/man

bin_files = 1wire/ls1wire
sbin_files = nisperod
init_files = misc/nisperod
script_files = misc/gen-nisperod.cf.sh  misc/gen-nisptab.sh
doc_files = docs/protocol.txt \
		README \
		config-sample/nisperod.cf.sample config-sample/nisptab.sample
man_files_1 = docs/man1/nisperod.1.gz \
	      docs/man1/ls1wire.1.gz
	    
man_files_5 = docs/man5/nisperod.5.gz \
	      docs/man5/nisperod.cf.5.gz \
	      docs/man5/nisptab.5.gz

DESTDIR =

CC = $(CXX)
CXX = g++
# CXXFLAGS = -Wall -g -DTEST
CXXFLAGS = -Wall -g
CCFLAGS = $(CXXFLAGS) 
files = nisperod.h clists.c gettoken.c parse.c main.c signal.c unixds.c wrappers.cpp wrappers.h

all: nisperod

nisperod: nisperod.h signal.o main.o clists.o gettoken.o parse.o unixds.o wrappers.o lib
	$(CXX) -o nisperod signal.o main.o clists.o gettoken.o \
	         parse.o unixds.o wrappers.o 1wire/lib1wire.a

main.o: nisperod.h main.c
	$(CXX) $(CCFLAGS) -c main.c -o main.o

signal.o: nisperod.h signal.c

clists.o: nisperod.h clists.c

gettoken.o: nisperod.h gettoken.c

parse.o: nisperod.h parse.c
	$(CXX) $(CCFLAGS) -c parse.c -o parse.o

unixds.o: nisperod.h unixds.c
	$(CXX) $(CCFLAGS) -c unixds.c -o unixds.o

wrappers.o: nisperod.h wrappers.cpp
	$(CXX) $(CCXFLAGS) -c wrappers.cpp -o wrappers.o

lib: 1wire/bus.h
	cd 1wire && make all

clean:
	rm -f *.o nisperod
	cd 1wire && make clean

test-clean:
	cd test && make clean

test:
	cd test && make all

co:
	co -l $(files)

check:
	co $(files)

ci:
	ci $(files)

tar:
	./update.sh

install: all
ifndef DESTDIR
	echo "Refusing to make install without defining DESTDIR"
	exit 1
endif
	$(INSTALL) -d $(DESTDIR)$(bindir)
	$(INSTALL) $(bin_files) $(DESTDIR)$(bindir)
	$(INSTALL) -d $(DESTDIR)$(sbindir)
	$(INSTALL) $(sbin_files) $(DESTDIR)$(sbindir)
	$(INSTALL) -d $(DESTDIR)$(sysconfdir)/init.d
	$(INSTALL_SCRIPT) $(init_files) $(DESTDIR)$(sysconfdir)/init.d
	$(INSTALL) -d $(DESTDIR)$(bindir)
	$(INSTALL_SCRIPT) $(script_files) $(DESTDIR)$(bindir)
	$(INSTALL) -d $(DESTDIR)$(datadir)/doc/nisperod
	$(INSTALL_DATA) $(doc_files) $(DESTDIR)$(datadir)/doc/nisperod
	$(INSTALL) -d $(DESTDIR)$(mandir)/man1
	$(INSTALL) -d $(DESTDIR)$(mandir)/man5
	$(INSTALL_DATA) $(man_files_1) $(DESTDIR)$(mandir)/man1
	$(INSTALL_DATA) $(man_files_5) $(DESTDIR)$(mandir)/man5
	$(INSTALL) -d $(DESTDIR)$(sysconfdir)/nisperod

uninstall:
	echo "sorry, no uninstall target, not needed (debian package)"
