OUTPUT_DIR = build
+ifeq ($(SIM),)
+# Compile for terminal
+all: mtrfid mtserver mtkeys mtaio
+else
+# Compile just simulator
+all: mtaio
+endif
+
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_rfid.c mt_keys.c mt_server.c mt_aio.c
-mtaio_LIBS = -lev -luFCoder-armhf -lwebsockets
-mtaio_DEFS = -DNO_MAIN
+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)
-all: mtrfid mtserver mtkeys mtaio
+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 -lz $(shell pkg-config --libs openssl)
+
+libwebsockets/CMakeLists.txt:
+ git submodupe update --init libwebsockets
+
+libwebsockets/CMakeCache.txt: libwebsockets/CMakeLists.txt
+ cd libwebsockets && cmake -DLWS_WITH_LIBEV=ON -DLWS_WITH_SHARED=OFF .
+
+libwebsockets/lib/libwebsockets.a: libwebsockets/CMakeCache.txt
+ cd libwebsockets && cmake --build .
+
+mt_server.c: libwebsockets/lib/libwebsockets.a
+endif
.PHONY: clean
rm -rf $(OUTPUT_DIR)
.SECONDEXPANSION:
-mt%: $$($$@_SRCS)
+mtserver mtkeys mtaio mtrfid: $$($$@_SRCS)
mkdir -p $(OUTPUT_DIR)
$(CC) $(CFLAGS) $($@_DEFS) -o $(OUTPUT_DIR)/$@ $^ $($@_LIBS)