PWD=`pwd`
DESTBIN=$(install_root)/usr/bin
DESTMAN=$(install_root)/usr/share/man/man8

LD_LIBS=-lm -lrt
CC = gcc
CFLAGS = -g -pthread -O -Wall -DUSE_FLOCK -DUSE_MKSTEMP
ALL = bin/scbus-tail bin/scbus-device bin/scbus-config bin/scbus-settings
MANUALS = scbus-config.8  scbus-device.8  scbus-tail.8
OBJS = obj/rs485.o obj/util.o

all: $(ALL)

bin/scbus-tail: obj/scbus-tail.o $(OBJS)
	$(CC) -o $@ obj/scbus-tail.o $(OBJS) $(LD_LIBS)

bin/scbus-device: obj/scbus-device.o $(OBJS)
	$(CC) -o $@ obj/scbus-device.o $(OBJS) $(LD_LIBS)

bin/scbus-config: obj/scbus-config.o $(OBJS)
	$(CC) -o $@ obj/scbus-config.o $(OBJS) $(LD_LIBS)

obj/Makefile: qtsettings/CMakeLists.txt
	@cd obj ; cmake ../qtsettings ; cd -

bin/scbus-settings: obj/Makefile
	make -C obj

obj/%.o: src/%.c src/%.h src/config.h
	$(CC) $(CFLAGS) -c $< -o $@

clean:
	/bin/rm -f -r obj/*
	/bin/rm -f $(ALL)

install: $(ALL)
	@mkdir -p $(DESTBIN)
	@for n in $(ALL) ; do fname=`basename "$$n"` ; echo "Install $$fname ..." ; cp $$n $(DESTBIN)/$$fname ; done
	@mkdir -p $(DESTMAN)
	@for n in $(MANUALS) ; do cp man/$$n $(DESTMAN)/$$n ; done

uninstall:
	@for n in $(ALL) ; do fname=`basename "$$n"` ; rm -f $$n $(DESTBIN)/$$fname ; done
	@for n in $(MANUALS) ; do rm -f $(DESTMAN)/$$n ; done

deb:
	fakeroot debian/rules binary
