battery: Add divider for voltage_now
[sysstatus.git] / Makefile
1 PROJ := sysstatus
2
3 LIBRARIES := alsa
4
5 BUILDDIR   := build
6 INCLUDEDIR := include
7 SRCDIR     := src
8
9 EXE     := $(BUILDDIR)/$(PROJ)
10 HEADERS := $(shell find $(INCLUDEDIR)/ -iname "*.h")
11 HEADERS += $(shell find $(SRCDIR)/ -iname "*.h")
12
13 INCLUDES := $(patsubst %, -I%, $(INCLUDEDIR) $(SRCDIR))
14 CFLAGS   := -O3 -Wall -Wextra
15 LDFLAGS  :=
16
17 SOURCES := $(shell find $(SRCDIR)/ -iname "*.c")
18 OBJS    := $(patsubst %.c, $(BUILDDIR)/%.o, $(SOURCES))
19
20 INCLUDES += $(shell pkg-config --cflags-only-I $(LIBRARIES))
21 CFLAGS   += $(shell pkg-config --cflags-only-other $(LIBRARIES))
22 LDFLAGS  += $(shell pkg-config --libs $(LIBRARIES))
23
24
25
26 .PHONY: default
27 default: $(EXE)
28
29
30 .PHONY: debug
31 debug: $(EXE)
32         gdb $(EXE) $(shell ps -e | sed "s/^ *\([0-9]\+\) .*$(PROJ).*$$/\1/g;te;d;:e")
33
34
35 $(EXE): $(OBJS)
36         @if [ ! -d $(BUILDDIR) ] ; then echo "Error: Build dir '$(BUILDDIR)' does not exist." ; false ; fi
37         gcc -o $@ $^ $(LDFLAGS)
38
39
40 $(BUILDDIR)/$(SRCDIR)/%.o: $(SRCDIR)/%.c $(HEADERS)
41         @if [ ! -d $(dir $@) ] ; then mkdir -p $(dir $@) ; fi
42         gcc $(INCLUDES) $(CFLAGS) -c -o $@ $<
43
44
45 .PHONY: clean
46 clean:
47         rm -f $(STATICLIB)
48         rm -f $(OBJS)
49         rm -rf $(BUILDDIR)/
50
51
52 .PHONY: distclean
53 distclean: clean
54         find . -xdev -name "*~" -exec rm {} \;
55         find . -xdev -name "core" -exec rm {} \;