# .SILENT:

DEPENDFILE=.depend
VERSION=0.1

#
# default configuration
# after chaning run make config
# default ports: 21105, 21106 and 3472?
PREFIX=/usr/local
DATAPREFIX=/var/lib
RUNPID=/var/run/z21Emulation.pid
ETCPREFIX=/etc
# DEFAULT_Z21PORT=21105
DEFAULT_Z21PORT=21104

#
#
#
ifndef CXX
CXX=g++
endif
#CXX=/data/CreateImages/RaspberryPi/tools/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin/arm-bcm2708-linux-gnueabi-g++
CXXFLAGS= -ggdb -fPIC -Wall -pg 
LDFLAGS= -lm -lc -pg 
#
#
#

all: dep z21emu

# install: $(OBJSLAVES) collect-master collectd
#	cp -rf collectd $(PREFIX)/bin
#	cp -rf collect-master $(PREFIX)/bin
#	$(foreach i,$(OBJSLAVES), cp -rf $(i) $(PREFIX)/bin;)
#	
#	mkdir -p $(ETCPREFIX)/collect
#	$(foreach i,$(shell ls *.conf.sample), cp -rvf $(i) $(ETCPREFIX)/collect/;)
#	$(foreach i,$(shell ls *.map), cp -rvf $(i) $(ETCPREFIX)/collect/;)
#	$(foreach i,$(shell ls *.conf), echo $(i);)
#	mkdir -p $(DATAPREFIX)/collect
#
#
# installinitd: install
#	cp -rf collectd.sh /etc/init.d
#	ln -fs ../init.d/collectd.sh /etc/rc2.d/S20collectd.sh
#	ln -fs ../init.d/collectd.sh /etc/rc0.d/K10collectd.sh
#	ln -fs ../init.d/collectd.sh /etc/rc1.d/K10collectd.sh
#	ln -fs ../init.d/collectd.sh /etc/rc6.d/K10collectd.sh	
#
# uninstall:
#	rm -rf $(PREFIX)/bin/collectd
#	rm -rf $(PREFIX)/bin/collect-master
#	rm -rf /etc/init.d/collectd.sh
#	rm -rf /etc/rc2.d/S10collectd.sh
#	rm -rf /etc/rc0.d/K10collectd.sh
#	rm -rf /etc/rc1.d/K10collectd.sh
#	rm -rf /etc/rc6.d/K10collectd.sh
#
#	$(foreach i,$(OBJSLAVES), rm -rf $(PREFIX)/bin/$(i);)
#	#	rm -rf $(ETCPREFIX)/collect
#

z21emu: z21emu.o udp.o debug.o z21prot.o i2csensor.o
	$(CXX) $^ -o $@ $(LDFLAGS)


config:
	echo "#ifndef _CONFIG_H_" > config.h
	echo "#define _CONFIG_H_" >> config.h
	echo "" >> config.h
	echo "#define VERSION \"$(VERSION)\"" >> config.h
	echo "" >> config.h
	echo "#define PREFIX \"$(PREFIX)\"" >> config.h
	echo "#define RUNPID \"$(RUNPID)\"" >> config.h
	echo "#define DATAPREFIX \"$(DATAPREFIX)\"" >> config.h
	echo "#define ETCPREFIX \"$(ETCPREFIX)\"" >> config.h
	echo "" >> config.h
	echo "#define DEFAULT_Z21PORT $(DEFAULT_Z21PORT)" >> config.h
	echo "" >> config.h
# ifeq ($(HAVE_SIMPLEHD),1)
#	echo "#define HAVE_SIMPLEHD 1" >> config.h
# else
#	echo "// #define HAVE_SIMPLEHD 1" >> config.h
# endif
	echo "" >> config.h
	
	echo "#endif" >> config.h
	
rebuild: clean all

dep:
	$(CXX) -MM `ls *.cc` $(CXXFLAGS) > $(DEPENDFILE)

dist:
	mkdir z21emu-$(VERSION)
	cp -rf *.conf.sample z21emu-$(VERSION)/
	cp -rf *.cc z21emu-$(VERSION)/
	cp -rf *.h z21emu-$(VERSION)/
	cp -rf *.sh z21emu-$(VERSION)/
	cp -rf Makefile z21emu-$(VERSION)/
	cp -rf INSTALL z21emu-$(VERSION)/
	tar cvzf z21emu-$(VERSION).tgz z21emu-$(VERSION)
	rm -rf z21emu-$(VERSION)

clean:
	rm *.s -rf
	rm *.o -rf
	rm *.oo -rf
	rm *~ -rf
	rm -rf .depend
	rm -rf *.so
	rm -rf *.so.*
	rm -rf z21emu
	rm -rf gmon.out
	rm -rf config.h
	rm -rf Makefile.rules

cleanall: clean

source: cleanall

-include $(DEPENDFILE)
