.SILENT: help
VERSION = 0.0.1
APP = simpleskycam

-include Makefile.rules

OBJECTS = gui.oo main.oo video.oo videoframe.oo videodev.oo videodev-v4l2.oo convert.oo filter.oo detect.oo json.oo configuration.oo 
DISTNAME=simpleskycam-$(VERSION)

ifeq ($(TARGET),)
noconfig: help
endif

all: Makefile.rules $(TARGET)

help:
	echo "set up configuration"
	echo "   make configlinux      to generate the linix build"
	
configlinux: clean
	cp -f Makefile.rules.linux Makefile.rules
	make config

configwindows: clean
	cp -f Makefile.rules.windows Makefile.rules
	make config

configcross: clean
	cp -f Makefile.rules.crosswindows Makefile.rules
	make config

config: Makefile.rules
	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 "#endif" >> config.h


$(TARGET): $(OBJECTS)
	$(CPP) -o $(TARGET) $(OBJECTS) $(LDFLAGS) $(LIBS)

.SUFFIXES:
.SUFFIXES:	.c .cc .C .cpp .oo

.cc.oo : $(INCLUDES)
	$(CPP) -o $@ -c $(CPPFLAGS) $<

clean:
	rm -f *.o *.oo *.c~ *.h~ *.cc~ *.ui~ $(APP) Makefile~
	rm -rf config.h
	rm -rf *.dll
	rm -rf *.exe
	rm -rf Makefile.rules

dist: clean
	rm -rf $(DISTNAME)
	mkdir $(DISTNAME)
	cp Makefile* $(DISTNAME)
	cp Readme $(DISTNAME)
	cp COPYING $(DISTNAME)
	cp Changelog $(DISTNAME)
	cp *.ui $(DISTNAME)
	cp -rf *.h $(DISTNAME)
	cp -rf *.cc $(DISTNAME) 
	tar cvzf $(DISTNAME).tgz $(DISTNAME)
	rm -rf $(DISTNAME)

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

-include $(DEPENDFILE)

.PHONY: all
.PHONY: count
.PHONY: clean
