CC=gcc SDIR=src CRONDIR=cron INSTALL=/usr/bin/install -c MODBUSLOGCFLAGS=-I/usr/include/modbus MODBUSLOGLIBS=-lmodbus -lconfig MODBUSLOGBINDIR=/usr/sbin MODBUSLOGCFGDIR=/etc MODBUSLOGLOGDIR=/var/modbuslog MODBUSLOGCRONDIR=/etc/cron.d FTPHELPERCFLAGS= FTPHELPERLIBS=-lconfig FTPHELPERDIR=/usr/bin PHPSDIR=php WWWDIR=/var/www GITTAGFLAG := -D'VERSION_STRING="$(shell LC_ALL=C git describe --tags)"' MODBUSLOGCFLAGS += $(GITTAGFLAG) FTPHELPERCFLAGS += $(GITTAGFLAG) all: modbuslog ftphelper modbuslog: $(SDIR)/modbuslog.c $(CC) -o $(SDIR)/$@ $^ $(MODBUSLOGCFLAGS) $(MODBUSLOGLIBS) ftphelper: $(SDIR)/ftphelper.c $(CC) -o $(SDIR)/$@ $^ $(FTPHELPERCFLAGS) $(FTPHELPERLIBS) install: all $(INSTALL) $(SDIR)/modbuslog $(MODBUSLOGBINDIR)/modbuslog test -f $(MODBUSLOGCFGDIR)/modbuslog.cfg || $(INSTALL) -m 644 $(SDIR)/modbuslog.cfg $(MODBUSLOGCFGDIR)/modbuslog.cfg @if [ ! -d $(MODBUSLOGLOGDIR) ]; \ then \ mkdir $(MODBUSLOGLOGDIR); \ mkdir $(MODBUSLOGLOGDIR)/interval; \ mkdir $(MODBUSLOGLOGDIR)/archive; \ fi test -f $(MODBUSLOGLOGDIR)/interval/interval.txt || $(INSTALL) -m 644 $(SDIR)/interval.txt $(MODBUSLOGLOGDIR)/interval/interval.txt test -f $(MODBUSLOGCRONDIR)/modbuslog || $(INSTALL) -m 644 $(CRONDIR)/modbuslog $(MODBUSLOGCRONDIR)/modbuslog $(INSTALL) $(SDIR)/ftpupload $(FTPHELPERDIR)/ftpupload $(INSTALL) $(SDIR)/ftphelper $(FTPHELPERDIR)/ftphelper $(INSTALL) $(PHPSDIR)/readfile.php $(WWWDIR)/readfile.php