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