[update] factorize flash writing code. use core_id to identify.
[fw/stlink] / Makefile
index c97bccf7766ef79b4de29453e33708f982754fd3..943302e0487fdfcb20358f82179e05d5137464db 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,20 +1,36 @@
-
+# make ... for both libusb and libsg
+#
+# make CONFIG_USE_LIBSG=0 ...
+# for just libusb
+#
 VPATH=src
 
-SOURCES_LIB=stlink-common.c stlink-usb.c stlink-sg.c
+SOURCES_LIB=stlink-common.c stlink-usb.c
 OBJS_LIB=$(SOURCES_LIB:.c=.o)
+TEST_PROGRAMS=test_usb
+LDFLAGS=-L. -lstlink -lusb-1.0
+
+ifeq ($(CONFIG_USE_LIBSG),)
+CONFIG_USE_LIBSG=1
+endif
+
+ifneq ($(CONFIG_USE_LIBSG),0)
+SOURCES_LIB+=stlink-sg.c
+CFLAGS+=-DCONFIG_USE_LIBSG=1
+LDFLAGS+=-lsgutils2
+TEST_PROGRAMS+=test_sg
+endif
 
-CFLAGS+=-DCONFIG_USE_LIBUSB
-CFLAGS+=-DCONFIG_USE_LIBSG
-CFLAGS+=-DDEBUG
-CFLAGS+= -std=gnu99
+CFLAGS+=-g
+CFLAGS+=-DCONFIG_USE_LIBUSB=1
+CFLAGS+=-DDEBUG=1
+CFLAGS+=-std=gnu99
 CFLAGS+=-Wall -Wextra
 
-LDFLAGS=-lstlink -lusb-1.0 -lsgutils2 -L.
 
 LIBRARY=libstlink.a
 
-all:  $(LIBRARY) test_usb test_sg 
+all:  $(LIBRARY) flash gdbserver $(TEST_PROGRAMS)
 
 $(LIBRARY): $(OBJS_LIB)
        @echo "objs are $(OBJS_LIB)"
@@ -41,5 +57,15 @@ clean:
        rm -rf $(LIBRARY)
        rm -rf test_usb*
        rm -rf test_sg*
+
+distclean: clean
+       $(MAKE) -C flash clean
+       $(MAKE) -C gdbserver clean
        
-.PHONY: clean all
+flash:
+       $(MAKE) -C flash CONFIG_USE_LIBSG="$(CONFIG_USE_LIBSG)" 
+
+gdbserver:
+       $(MAKE) -C gdbserver
+
+.PHONY: clean all flash gdbserver