aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
blob: 7a6d77cbdc79d41f5465de2492fe4ffc8e9fd578 (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
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
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)
FTPHELPERCFLAGS += $(GITTAGFLAG)
LIGHTINGCONTROLCFLAGS += $(GITTAGFLAG)
PHIDGETCONTROLCFLAGS += $(GITTAGFLAG)

all: modbuslog ftphelper lightingcontrol phidgetcontrol weatherstation_test

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

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

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_ftphelper:
	$(INSTALL) $(SDIR)/ftpupload $(FTPHELPERDIR)/ftpupload
	$(INSTALL) $(SDIR)/ftphelper $(FTPHELPERDIR)/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 $(FTPHELPERDIR)/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_ftphelper install_lightingcontrol install_phidgetcontrol

install: all installall