]> rtime.felk.cvut.cz Git - coffee/mt-apps.git/blobdiff - Makefile
mt_server: Use "%s" format string in syslog()
[coffee/mt-apps.git] / Makefile
index 34bece4e0b26bc48f423a7ea2f8f68c10a3ba141..30af7edde99a937c28e94babbf871179ae70f9d0 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,17 +1,53 @@
-OUTPUT_FILE = mt-rfid
+OUTPUT_DIR    = build
 
-ifeq ($(OS),Windows_NT)
-       CC = gcc
-       CFLAGS += -Wall -O3 -DPORT_NAME="\"\""
-       UFR_LIB = -L. -luFCoder-x86_64
+ifeq ($(SIM),)
+# Compile for terminal
+all: mtrfid mtserver mtkeys mtaio
 else
-       UFR_LIB = -luFCoder-armhf
+# Compile just simulator
+all: mtaio
 endif
 
-all: mt_rfid.c mt_rfid.h
-       $(CC) $(CFLAGS) -o $(OUTPUT_FILE) mt_rfid.c $(UFR_LIB)
+mtrfid_SRCS   = signal_exit.c mt_rfid.c
+mtrfid_LIBS   = -lev -luFCoder-armhf
+mtrfid_DEFS   = -DHAVE_RFID=1
+
+mtserver_SRCS = signal_exit.c mt_server.c
+mtserver_LIBS = -lev -lwebsockets
+
+mtkeys_SRCS   = signal_exit.c mt_keys.c
+mtkeys_LIBS   = -lev
+
+mtaio_SRCS    = signal_exit.c mt_keys.c mt_server.c mt_aio.c mt_blank.c
+mtaio_LIBS    = -lev -lwebsockets
+mtaio_DEFS    = -DNO_MAIN -DHAVE_RFID=$(if $(HAVE_RFID),1,0)
+
+ifeq ($(SIM),)
+mtaio_SRCS += mt_rfid.c
+mtaio_LIBS += -luFCoder-armhf
+else
+mtaio_SRCS += mt_sim.c
+mtaio_DEFS += -DSIM=1 -Ilibwebsockets/include -Llibwebsockets/lib -g
+mtaio_LIBS += -lz $(shell pkg-config --libs openssl)
+
+libwebsockets/CMakeLists.txt:
+       git submodule update --init libwebsockets
+
+libwebsockets/CMakeCache.txt: libwebsockets/CMakeLists.txt
+       cd libwebsockets && cmake -DLWS_WITH_LIBEV=ON -DLWS_WITH_SHARED=OFF -DLWS_WITHOUT_TESTAPPS=ON .
+
+libwebsockets/lib/libwebsockets.a: libwebsockets/CMakeCache.txt
+       cd libwebsockets && cmake --build .
+
+mt_server.c: libwebsockets/lib/libwebsockets.a
+endif
 
 .PHONY: clean
 
 clean:
-       rm $(OUTPUT_FILE)
+       rm -rf $(OUTPUT_DIR)
+
+.SECONDEXPANSION:
+mtserver mtkeys mtaio mtrfid: $$($$@_SRCS)
+       mkdir -p $(OUTPUT_DIR)
+       $(CC) $(CFLAGS) $($@_DEFS) -o $(OUTPUT_DIR)/$@ $^ $($@_LIBS)