aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
blob: ccdbb652069aa85fb8a5d0efa6bb3ae11a7d62a9 (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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
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
FTPUPLOADCFLAGS=
FTPUPLOADLIBS=-lconfig
FTPUPLOADCFGDIR=/etc
FTPUPLOADBINDIR=/usr/bin
LIGHTINGCONTROLCFLAGS=
LIGHTINGCONTROLLIBS=-lconfig
LIGHTINGCONTROLBINDIR=/usr/sbin
LIGHTINGCONTROLCFGDIR=/etc
LIGHTINGCONTROLLOGDIR=
LIGHTINGCONTROLCRONDIR=/etc/cron.d
PHIDGETCONTROLCFLAGS=
PHIDGETCONTROLLIBS=-lconfig -lphidget21
PHIDGETCONTROLBINDIR=/usr/sbin
PHIDGETCONTROLCFGDIR=/etc
PHIDGETCONTROLLOGDIR=/var/phidgetcontrol
PHIDGETCONTROLCRONDIR=/etc/cron.d
PHPSDIR=php
WWWDIR=/var/www

GITTAGFLAG := -D'VERSION_STRING="$(shell LC_ALL=C git describe --tags)"'
MODBUSLOGCFLAGS += $(GITTAGFLAG)
FTPUPLOADCFLAGS += $(GITTAGFLAG)
LIGHTINGCONTROLCFLAGS += $(GITTAGFLAG)
PHIDGETCONTROLCFLAGS += $(GITTAGFLAG)

all:	modbuslog ftpupload lightingcontrol phidgetcontrol weatherstation_test

clean:
	rm -f $(SDIR)/modbuslog
	rm -f $(SDIR)/ftphelper
	rm -f $(SDIR)/lightingcontrol
	rm -f $(SDIR)/phidgetcontrol
	rm -f $(SDIR)/weatherstation_test

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

ftpupload:	$(SDIR)/ftphelper.c
	$(CC) -o $(SDIR)/ftphelper $^ $(FTPUPLOADCFLAGS) $(FTPUPLOADLIBS)

lightingcontrol:	$(SDIR)/lightingcontrol.c
	$(CC) -o $(SDIR)/$@ $^ $(LIGHTINGCONTROLCFLAGS) $(LIGHTINGCONTROLLIBS)

phidgetcontrol:	$(SDIR)/phidgetcontrol.c
	$(CC) -o $(SDIR)/$@ $^ $(PHIDGETCONTROLCFLAGS) $(PHIDGETCONTROLLIBS)

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

install_modbuslog:
	$(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) $(PHPSDIR)/readfile.php $(WWWDIR)/readfile.php

install_ftpupload:
	test -f $(CFGDIR)/ftpupload.cfg || $(INSTALL) -m 644 $(SDIR)/ftpupload.cfg $(FTPUPLOADCFGDIR)/ftpupload.cfg
	$(INSTALL) $(SDIR)/ftpupload $(FTPUPLOADBINDIR)/ftpupload
	$(INSTALL) $(SDIR)/ftphelper $(FTPUPLOADBINDIR)/ftphelper

install_lightingcontrol:
	$(INSTALL) $(SDIR)/lightingcontrol $(LIGHTINGCONTROLDIR)/lightingcontrol
	test -f $(LIGHTINGCONTROLCFGDIR)/lightingcontrol.cfg || $(INSTALL) -m 644 $(SDIR)/lightingcontrol.cfg $(LIGHTINGCONTROLCFGDIR)/lightingcontrol.cfg
	test -f $(LIGHTINGCONTROLCRONDIR)/lightingcontrol || $(INSTALL) -m 644 $(CRONDIR)/lightingcontrol $(LIGHTINGCONTROLCRONDIR)/lightingcontrol

install_phidgetcontrol:
	$(INSTALL) $(SDIR)/phidgetcontrol $(PHIDGETCONTROLBINDIR)/phidgetcontrol
	test -f $(PHIDGETCONTROLCFGDIR)/phidgetcontrol.cfg || $(INSTALL) -m 644 $(SDIR)/phidgetcontrol.cfg $(PHIDGETCONTROLCFGDIR)/phidgetcontrol.cfg
	@if [ ! -d $(PHIDGETCONTROLLOGDIR) ]; \
	then \
		mkdir $(PHIDGETCONTROLLOGDIR); \
		mkdir $(PHIDGETCONTROLLOGDIR)/interval; \
		mkdir $(PHIDGETCONTROLLOGDIR)/archive; \
	fi
	test -f $(PHIDGETCONTROLCRONDIR)/phidgetcontrol || $(INSTALL) -m 644 $(CRONDIR)/phidgetcontrol $(PHIDGETCONTROLCRONDIR)/phidgetcontrol

installall:	install_modbuslog install_ftpupload install_lightingcontrol install_phidgetcontrol

install:	all installall