]> rtime.felk.cvut.cz Git - coffee/mt-apps.git/blob - Makefile
Autodetect RFID support and allow compiling without it
[coffee/mt-apps.git] / Makefile
1 OUTPUT_DIR    = build
2
3 CFLAGS        = -Ilibwebsockets/include -Llibwebsockets/lib
4 can_compile   = $(shell set -x; if echo '$(1)' | $(CC) $(CFLAGS) -c -xc - -o /dev/null >/dev/null 2>&1; then echo yes; fi)
5 HAVE_RFID    := $(call can_compile,\#include <uFCoder.h>)
6
7 ifeq ($(HAVE_RFID),yes)
8 all: mtrfid
9 else
10 $(warning Compiling without RFID support)
11 endif
12
13 mtrfid_SRCS   = signal_exit.c mt_rfid.c
14 mtrfid_LIBS   = -lev -luFCoder-armhf
15
16 mtserver_SRCS = signal_exit.c mt_server.c
17 mtserver_LIBS = -lev -lwebsockets
18
19 mtkeys_SRCS   = signal_exit.c mt_keys.c
20 mtkeys_LIBS   = -lev
21
22 mtaio_SRCS    = signal_exit.c mt_keys.c mt_server.c mt_aio.c
23 mtaio_LIBS    = -lev -lwebsockets
24 mtaio_DEFS    = -DNO_MAIN -DHAVE_RFID=$(if $(HAVE_RFID),1,0)
25
26 ifeq ($(HAVE_RFID),yes)
27 mtaio_SRCS += mt_rfid.c
28 mtaio_LIBS += -luFCoder-armhf
29 endif
30
31 all: mtserver mtkeys mtaio
32
33 .PHONY: clean
34
35 clean:
36         rm -rf $(OUTPUT_DIR)
37
38 .SECONDEXPANSION:
39 mt%: $$($$@_SRCS)
40         mkdir -p $(OUTPUT_DIR)
41         $(CC) $(CFLAGS) $($@_DEFS) -o $(OUTPUT_DIR)/$@ $^ $($@_LIBS)