aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
blob: 3c3c86f566fee10d5c6919dd118eb2f7c26b9dfd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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 weatherstation_test

modbuslog: $(SDIR)/modbuslog.c
	$(CC) -o $(SDIR)/$@ $^ $(MODBUSLOGCFLAGS) $(MODBUSLOGLIBS)

ftphelper: $(SDIR)/ftphelper.c
	$(CC) -o $(SDIR)/$@ $^ $(FTPHELPERCFLAGS) $(FTPHELPERLIBS)

weatherstation_test: $(SDIR)/weatherstation_test.c
	$(CC) -o $(SDIR)/$@ $^ $(MODBUSLOGCFLAGS) $(MODBUSLOGLIBS)

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