2f17ba4df4330d52bc4fb8705aa641d8b3b1cc8a
[openocd.git] / src / Makefile.am
1 SUBDIRS = helper jtag xsvf svf target server flash pld
2
3 lib_LTLIBRARIES = libopenocd.la
4 bin_PROGRAMS = openocd
5
6 if ECOSBOARD
7 MAINFILE = ecosboard.c
8 else
9 MAINFILE = main.c
10 endif
11
12 openocd_SOURCES = $(MAINFILE)
13 openocd_LDADD = libopenocd.la
14
15 libopenocd_la_SOURCES = \
16         hello.c \
17         openocd.c \
18         startup_tcl.c
19
20 noinst_HEADERS = \
21         openocd.h
22
23
24 # set the include path found by configure
25 AM_CPPFLAGS = \
26         -I$(top_srcdir)/src \
27         -I$(top_srcdir)/src/helper \
28         -I$(top_srcdir)/src/jtag \
29         -I$(top_srcdir)/src/target \
30         -I$(top_srcdir)/src/xsvf \
31         -I$(top_srcdir)/src/svf \
32         -I$(top_srcdir)/src/server \
33         -I$(top_srcdir)/src/flash \
34         -I$(top_srcdir)/src/pld
35
36 libopenocd_la_CPPFLAGS = -DPKGBLDDATE=\"`date +%F-%R`\"
37
38 # banner output includes RELSTR appended to $VERSION from the configure script
39 # guess-rev.sh returns either a repository version ID or "-snapshot"
40 if RELEASE
41 libopenocd_la_CPPFLAGS += -DRELSTR=\"\"
42 else
43 libopenocd_la_CPPFLAGS += -DRELSTR=\"`$(top_srcdir)/guess-rev.sh $(top_srcdir)`\"
44 endif
45
46 # add default CPPFLAGS
47 libopenocd_la_CPPFLAGS += $(AM_CPPFLAGS) $(CPPFLAGS)
48
49 # the library search path.
50 libopenocd_la_LDFLAGS = $(all_libraries)
51
52 if IS_MINGW
53 MINGWLDADD = -lws2_32
54 else
55 MINGWLDADD =
56 endif
57
58 if FT2232_LIBFTDI
59 FTDI2232LIB = -lftdi -lusb
60 else
61 if PRESTO_LIBFTDI
62 FTDI2232LIB = -lftdi -lusb
63 else
64 FTDI2232LIB =
65 endif
66 endif
67
68 if USBPROG
69 LIBUSB = -lusb
70 else
71 if JLINK
72 LIBUSB = -lusb
73 else
74 if RLINK
75 LIBUSB = -lusb
76 else
77 if VSLLINK
78 LIBUSB = -lusb
79 else
80 LIBUSB =
81 endif
82 endif
83 endif
84 endif
85
86 libopenocd_la_LIBADD = \
87         $(top_builddir)/src/xsvf/libxsvf.la \
88         $(top_builddir)/src/svf/libsvf.la \
89         $(top_builddir)/src/pld/libpld.la \
90         $(top_builddir)/src/jtag/libjtag.la \
91         $(top_builddir)/src/flash/libflash.la \
92         $(top_builddir)/src/target/libtarget.la \
93         $(top_builddir)/src/server/libserver.la \
94         $(top_builddir)/src/helper/libhelper.la \
95         $(FTDI2232LIB) $(MINGWLDADD) $(LIBUSB)
96
97 if HTTPD
98 libopenocd_la_LIBADD += -lmicrohttpd
99 endif
100
101 STARTUP_TCL_SRCS = \
102         $(srcdir)/helper/startup.tcl
103
104 EXTRA_DIST = $(STARTUP_TCL_SRCS)
105
106 BUILT_SOURCES = startup.tcl
107
108 startup.tcl: $(STARTUP_TCL_SRCS)
109         cat $^ > $@
110
111 BIN2C = $(builddir)/helper/bin2char$(EXEEXT_FOR_BUILD)
112
113 # Convert .tcl to cfile
114 startup_tcl.c: startup.tcl $(BIN2C)
115         $(BIN2C) startup_tcl < $< > $@ || rm -f $@
116
117 # add startup_tcl.c to make clean list
118 CLEANFILES = startup.tcl startup_tcl.c
119
120
121 MAINTAINERCLEANFILES = $(srcdir)/Makefile.in
122
123 # The "quick" target builds executables & reinstalls the executables
124 # Primary use: developer types to quicken the edit/compile/debug
125 # cycle.  by not requiring a "full build and full install". Note the
126 # assumption is: You are only rebuilding the EXE.... and everything
127 # else is/was previously installed.
128 #
129 # use at your own risk
130 quick: all install-binPROGRAMS
131