# .SILENT:

WEBUSER=www-data
WEBGROUP=www-data
VERSION=0.1
PREFIX=/usr/local
ETCPREFIX=/etc

DISTNAME=modelbahn

CXX=g++
CXXFLAGS= -Wall -ggdb -fPIC -Wno-write-strings -g -ggdb -std=c++11 -pg
LDFLAGS= -lm -lc -lpthread -L/usr/local/lib -g -ggdb -pg
LDFLAGS_CGI= -lm -lc -lpthread -L/usr/local/lib -g -ggdb -pg

DEPENDFILE=.depend
TARGET=modelbahn-server

SERVEROBJ=server.o network.o session.o server-loadsave.o debug.o \
 json.o main.o sensor.o turnout.o railway.o interfaces.o locomotive.o \
 block.o interface.o interface-z21.o
 
CURDIR=`pwd`

all: dep $(TARGET) test-json modelbahn-cgi

modelbahn-server: $(SERVEROBJ)
	$(CXX) -o $@ $^ $(LDFLAGS) -lUDPTCPNetwork -L./ -I./ -lpthread

modelbahn-cgi: modelbahn-cgi.o debug.o
	$(CXX) -o $@ $^ $(LDFLAGS_CGI) -lUDPTCPNetwork -L./ -I./ -lpthread

test-json: json.o test-json.o debug.o
	$(CXX) -o $@ $^ $(LDFLAGS) -L./ -I./ -lpthread

install: $(TARGET)
	cp -f $(TARGET) $(PREFIX)/lib/

uninstall:
	rm -f $(PREFIX)/lib/$(TARGET)


rebuild: clean all

dep:
	$(CXX) -MM `ls *.cc` $(CXXFLAGS) > $(DEPENDFILE)
	
clean:
	rm $(TARGET) -rf
	rm modelbahn-cgi -rf
	rm -rf gmon.out
	rm *.s -rf
	rm *.o -rf
	rm *.oo -rf
	rm *~ -rf
	rm -rf config.h
	rm -rf .depend
	rm -rf *.so
	rm -rf *.a
	rm -rf *.so.*

cleanall: clean

source: cleanall

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 ETCPREFIX \"$(ETCPREFIX)\"" >> config.h
	echo "" >> config.h
	echo "#endif" >> config.h


-include $(DEPENDFILE)

