Merge pull request #54 from karlp/th-pull-chipids
[fw/stlink] / Makefile
1 # make ... for both stlink v1 and stlink v2 support
2 ##
3 VPATH=src
4
5 SOURCES_LIB=stlink-common.c stlink-usb.c stlink-sg.c uglylogging.c
6 OBJS_LIB=$(SOURCES_LIB:.c=.o)
7 TEST_PROGRAMS=test_usb test_sg
8 LDFLAGS=-L. -lstlink 
9
10 # libusb location
11 LDFLAGS+=`pkg-config --libs libusb-1.0`
12 CFLAGS+=`pkg-config --cflags libusb-1.0`
13
14 CFLAGS+=-g
15 CFLAGS+=-DDEBUG=1
16 CFLAGS+=-std=gnu99
17 CFLAGS+=-Wall -Wextra
18
19
20 LIBRARY=libstlink.a
21
22 all:  $(LIBRARY) flash gdbserver $(TEST_PROGRAMS)
23
24 $(LIBRARY): $(OBJS_LIB)
25         @echo "objs are $(OBJS_LIB)"
26         $(AR) -cr $@ $^
27         @echo "done making library"
28         
29
30 test_sg: test_sg.o $(LIBRARY)
31         @echo "building test_sg"
32         $(CC) test_sg.o $(LDFLAGS) -o $@
33
34 test_usb: test_usb.o $(LIBRARY)
35         @echo "building test_usb"
36         $(CC) test_usb.o $(LDFLAGS) -o $@
37         @echo "done linking"
38
39 %.o: %.c
40         @echo "building $^ into $@"
41         $(CC) $(CFLAGS) -c $^ -o $@
42         @echo "done compiling"
43
44 clean:
45         rm -rf $(OBJS_LIB)
46         rm -rf $(LIBRARY)
47         rm -rf test_usb*
48         rm -rf test_sg*
49         $(MAKE) -C flash clean
50         $(MAKE) -C gdbserver clean
51         
52 flash:
53         $(MAKE) -C flash
54
55 gdbserver:
56         $(MAKE) -C gdbserver CONFIG_USE_LIBSG="$(CONFIG_USE_LIBSG)"
57
58 .PHONY: clean all flash gdbserver