-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
67 lines (52 loc) · 1.4 KB
/
Makefile
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
APP_SOURCE?=app.c
# Customization
CC:=gcc
CFLAGS=-Wall
# Organization
PREFIX?=$(PWD)/build
LIBDIR?=$(PWD)/lib
# Dependencies
MCP3008?=$(LIBDIR)/mcp3008
QUICKSERV?=$(LIBDIR)/libquickserv
# Log
DEBUG_APP?=1
# Include debugging-symbols
ifeq ($(DEBUG), 1)
CFLAGS+=-g
CFLAGS+=-ggdb
endif
ifeq ($(DEBUG_APP), 1)
EXTRA_CFLAGS+=-DDBG_APP
endif
ifeq ($(DEBUG_MCP3008), 1) # Debug MCP3008 library
EXTRA_CFLAGS+=-DDBG_MCP3008
endif
all: app
app: $(PREFIX)/app.o $(PREFIX)/mcp3008.o $(PREFIX)/lib/libquickserv.a
$(CC) -o $(PREFIX)/$@ $^ $(DEBUG_FLAGS) -lbcm2835
$(PREFIX)/app.o: $(APP_SOURCE) deps
$(CC) -o $@ -c $< $(EXTRA_CFLAGS) $(CFLAGS) -I$(MCP3008) -I$(PREFIX)/include
$(PREFIX)/mcp3008.o: $(MCP3008)/mcp3008.c
$(CC) -o $@ -c $< $(EXTRA_CFLAGS) $(CFLAGS)
deps:
@echo "\t[MKDIR] $(PREFIX)"
@mkdir -p $(PREFIX)
@make -C $(QUICKSERV) lib PREFIX=$(PREFIX) $(DEBUG)
clean:
@echo "\t[CLEAN] $(PREFIX)/"
rm -rf $(PREFIX)
@make -C $(QUICKSERV) clean
run:
@echo "\n\nStarting application..."
@sudo ./app
node:
@sudo npm install -g commander ip request dateformat
install:
@sudo cp -f shitstart /etc/init.d
@sudo ln -fs /etc/init.d/shitstart /etc/rc3.d/S01shitstart
@update-rc.d shitstart defaults
@sudo cp -f characteristic_*.js /usr/local/sbin/
@sudo cp -f *service*.js /usr/local/sbin/
@sudo cp -f toilet.js /usr/local/sbin/
@sudo chmod +x node_client.js
@sudo cp -f node_client.js /usr/local/sbin/shitapp