aboutsummaryrefslogtreecommitdiff
path: root/src/Makefile.am
blob: b539ec433c89bcb5908bb05697588fa8c38b72c7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
include $(top_srcdir)/common.mk

SUBDIRS = \
	jtag \
	helper \
	target \
	transport \
	flash \
	svf \
	xsvf \
	pld \
	server \
	rtos

noinst_LTLIBRARIES = libopenocd.la
bin_PROGRAMS = openocd

MAINFILE = main.c

openocd_SOURCES = $(MAINFILE)
openocd_LDADD = libopenocd.la

if INTERNAL_JIMTCL
openocd_LDADD += $(top_builddir)/jimtcl/libjim.a
else
openocd_LDADD += -ljim
endif

if ULINK
openocd_LDADD += -lm
endif

libopenocd_la_SOURCES = \
	hello.c \
	openocd.c \
	startup_tcl.c

noinst_HEADERS = \
	hello.h \
	openocd.h

libopenocd_la_CPPFLAGS = -DPKGBLDDATE=\"`date +%F-%R`\"

# banner output includes RELSTR appended to $VERSION from the configure script
# guess-rev.sh returns either a repository version ID or "-snapshot"
if RELEASE
libopenocd_la_CPPFLAGS += -DRELSTR=\"\"
libopenocd_la_CPPFLAGS += -DGITVERSION=\"\"
else
libopenocd_la_CPPFLAGS += -DRELSTR=\"`$(top_srcdir)/guess-rev.sh $(top_srcdir)`\"
libopenocd_la_CPPFLAGS += -DGITVERSION=\"`cd $(top_srcdir) && git describe`\"
endif

# add default CPPFLAGS
libopenocd_la_CPPFLAGS += $(AM_CPPFLAGS) $(CPPFLAGS)

# the library search path.
libopenocd_la_LDFLAGS = $(all_libraries)

if IS_MINGW
MINGWLDADD = -lws2_32
else
MINGWLDADD =
endif

libopenocd_la_LIBADD = \
	$(top_builddir)/src/xsvf/libxsvf.la \
	$(top_builddir)/src/svf/libsvf.la \
	$(top_builddir)/src/pld/libpld.la \
	$(top_builddir)/src/jtag/libjtag.la \
	$(top_builddir)/src/transport/libtransport.la \
	$(top_builddir)/src/flash/libflash.la \
	$(top_builddir)/src/target/libtarget.la \
	$(top_builddir)/src/server/libserver.la \
	$(top_builddir)/src/rtos/librtos.la \
	$(top_builddir)/src/helper/libhelper.la \
	$(LIBFTDI_LIBS) $(MINGWLDADD) \
	$(HIDAPI_LIBS) $(LIBUSB1_LIBS) $(LIBUSB0_LIBS)

STARTUP_TCL_SRCS = \
	$(srcdir)/helper/startup.tcl \
	$(srcdir)/jtag/startup.tcl \
	$(srcdir)/target/startup.tcl \
	$(srcdir)/flash/startup.tcl \
	$(srcdir)/server/startup.tcl

EXTRA_DIST = $(STARTUP_TCL_SRCS)

BUILT_SOURCES = startup.tcl

startup.tcl: $(STARTUP_TCL_SRCS)
	cat $^ > $@

BIN2C = $(top_srcdir)/src/helper/bin2char.sh

# Convert .tcl to cfile
startup_tcl.c: startup.tcl $(BIN2C)
	$(BIN2C) openocd_startup_tcl < $< > $@ || rm -f $@

# add startup_tcl.c to make clean list
CLEANFILES = startup.tcl startup_tcl.c

# we do not want generated file in the dist
dist-hook:
	rm -f $(distdir)/startup_tcl.c

MAINTAINERCLEANFILES = $(srcdir)/Makefile.in

# The "quick" target builds executables & reinstalls the executables
# Primary use: developer types to quicken the edit/compile/debug
# cycle.  by not requiring a "full build and full install". Note the
# assumption is: You are only rebuilding the EXE.... and everything
# else is/was previously installed.
#
# use at your own risk
quick: all install-binPROGRAMS