-OUTPUT_DIR = build
+OUTPUT_DIR = build
-all: mtrfid mtserver mtaio
+mtrfid_SRCS = signal_exit.c mt_rfid.c
+mtrfid_LIBS = -lev -luFCoder-armhf
-mtrfid: mt_rfid.c
- mkdir -p $(OUTPUT_DIR)
- $(CC) $(CFLAGS) -DIS_MAIN -o $(OUTPUT_DIR)/mtrfid mt_rfid.c signal_exit.c -lev -luFCoder-armhf
+mtserver_SRCS = signal_exit.c mt_server.c
+mtserver_LIBS = -lev -lwebsockets
-mtserver: mt_server.c
- mkdir -p $(OUTPUT_DIR)
- $(CC) $(CFLAGS) -DIS_MAIN -o $(OUTPUT_DIR)/mtserver mt_server.c signal_exit.c -lev -lwebsockets
+mtkeys_SRCS = signal_exit.c mt_keys.c
+mtkeys_LIBS = -lev
-mtaio: mt_aio.c mt_rfid.c mt_server.c
- mkdir -p $(OUTPUT_DIR)
- $(CC) $(CFLAGS) -o $(OUTPUT_DIR)/mtaio mt_aio.c mt_rfid.c mt_server.c signal_exit.c -lev -luFCoder-armhf -lwebsockets
+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
+
+all: mtrfid mtserver mtkeys mtaio
.PHONY: clean
clean:
rm -rf $(OUTPUT_DIR)
+
+.SECONDEXPANSION:
+mt%: $$($$@_SRCS)
+ mkdir -p $(OUTPUT_DIR)
+ $(CC) $(CFLAGS) $($@_DEFS) -o $(OUTPUT_DIR)/$@ $^ $($@_LIBS)