]> rtime.felk.cvut.cz Git - coffee/mt-apps.git/commitdiff
Makefile improved
authorJiří Matěják <jiri.matejak@fel.cvut.cz>
Fri, 27 Apr 2018 10:21:40 +0000 (12:21 +0200)
committerJiří Matěják <jiri.matejak@fel.cvut.cz>
Fri, 27 Apr 2018 10:21:40 +0000 (12:21 +0200)
Makefile
mt_rfid.c
mt_server.c

index 9d471225a41853ae4c13f2ac2f7feafbd737f806..8f12a1cf774578e80d1c09a730703ab0722c2315 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,20 +1,23 @@
-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
+mtaio_SRCS    = signal_exit.c mt_rfid.c  mt_server.c mt_aio.c
+mtaio_LIBS    = -lev -luFCoder-armhf -lwebsockets
+mtaio_DEFS    = -DNO_MAIN
 
-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
+all: mtrfid mtserver mtaio
 
 .PHONY: clean
 
 clean:
        rm -rf $(OUTPUT_DIR)
+
+.SECONDEXPANSION:
+mt%: $$($$@_SRCS)
+       mkdir -p $(OUTPUT_DIR)
+       $(CC) $(CFLAGS) $($@_DEFS) -o $(OUTPUT_DIR)/$@ $^ $($@_LIBS)
index 51cab16b24a31b76b873dad304c1e90f73bca345..3176d778d0cdc081dff5686d1e025c2ed9b3337d 100644 (file)
--- a/mt_rfid.c
+++ b/mt_rfid.c
@@ -216,7 +216,7 @@ void mt_rfid_deinit(mt_rfid_t *self)
     fprintf(stderr, "ReaderClose: %s\n", UFR_Status2String(status));
 }
 
-#ifdef IS_MAIN
+#ifndef NO_MAIN
 int main(int argc, char **argv)
 {
     struct ev_loop *loop = EV_DEFAULT;
index 220b6bff45a52f6404325c8d9b54c56272b8ecba..7ef9109ecc15b68dd974f8e3c1347416dda4fe8b 100644 (file)
@@ -184,7 +184,7 @@ void mt_server_deinit(mt_server_t *self) //TODO wtf
     lws_context_destroy(self->context);
 }
 
-#ifdef IS_MAIN
+#ifndef NO_MAIN
 int main(int argc, const char **argv)
 {
     struct ev_loop *loop = EV_DEFAULT;