summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-05-10 22:03:57 +0000
committerzwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-05-10 22:03:57 +0000
commit647e61cc6d9b13dd2799d2302ce9289a1627e36c (patch)
tree5172bfbe4df60948bf6d61ebea28366a51c03c12
parent104580e0bfb5aa2f79bc6c4c96935a8832f5f787 (diff)
downloadopenocd_libswd-647e61cc6d9b13dd2799d2302ce9289a1627e36c.tar.gz
openocd_libswd-647e61cc6d9b13dd2799d2302ce9289a1627e36c.tar.bz2
openocd_libswd-647e61cc6d9b13dd2799d2302ce9289a1627e36c.tar.xz
openocd_libswd-647e61cc6d9b13dd2799d2302ce9289a1627e36c.zip
Extend autotools build to create shared library libopenocd with libtool:
- Add libtoolize step too bootstrap script; creates ltmain.sh script. - Add AC_PROG_LIBTOOL to configure.in to add libtool support to build. - Change Makefile.am library rules from static (_a) to libtool (_la). - Install libopenocd.{la,so,a} in $(libdir); update openocd link rules. - Extend MAINTAINERCLEANFILES in top-level Makefile.am to remove ltmain.sh. git-svn-id: svn://svn.berlios.de/openocd/trunk@1695 b42882b7-edfa-0310-969c-e2dbd0fdcd60
-rw-r--r--Makefile.am1
-rwxr-xr-xbootstrap1
-rw-r--r--configure.in1
-rw-r--r--src/Makefile.am36
-rw-r--r--src/flash/Makefile.am4
-rw-r--r--src/helper/Makefile.am10
-rw-r--r--src/jtag/Makefile.am10
-rw-r--r--src/pld/Makefile.am4
-rw-r--r--src/server/Makefile.am12
-rw-r--r--src/svf/Makefile.am4
-rw-r--r--src/target/Makefile.am5
-rw-r--r--src/xsvf/Makefile.am4
12 files changed, 54 insertions, 38 deletions
diff --git a/Makefile.am b/Makefile.am
index c01c48f6..98c38f38 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -20,6 +20,7 @@ MAINTAINERCLEANFILES = \
config.h.in \
config.h.in~ \
compile \
+ ltmain.sh \
missing \
aclocal.m4 \
install-sh
diff --git a/bootstrap b/bootstrap
index d5a808e8..b49fda32 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1,5 +1,6 @@
aclocal \
&& autoheader \
+&& libtoolize --automake \
&& automake --foreign --add-missing --copy \
&& autoconf
diff --git a/configure.in b/configure.in
index a6177e1d..8256adb7 100644
--- a/configure.in
+++ b/configure.in
@@ -787,6 +787,7 @@ AC_PROG_CC
AC_PROG_CC_C99
AM_PROG_CC_C_O
AC_PROG_RANLIB
+AC_PROG_LIBTOOL
# Look for environ alternatives. Possibility #1: is environ in unistd.h or stdlib.h?
AC_MSG_CHECKING([for environ in unistd.h and stdlib.h])
diff --git a/src/Makefile.am b/src/Makefile.am
index 3cbfd3e4..c785e2ac 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,3 +1,6 @@
+SUBDIRS = helper jtag xsvf svf target server flash pld
+
+lib_LTLIBRARIES = libopenocd.la
bin_PROGRAMS = openocd
if ECOSBOARD
@@ -6,7 +9,10 @@ else
MAINFILE = main.c
endif
-openocd_SOURCES = $(MAINFILE) openocd.c
+openocd_SOURCES = $(MAINFILE)
+openocd_LDADD = libopenocd.la
+
+libopenocd_la_SOURCES = openocd.c
# set the include path found by configure
AM_CPPFLAGS = \
@@ -21,22 +27,21 @@ AM_CPPFLAGS = \
-I$(top_srcdir)/src/pld
# pass path to prefix path
-openocd_CPPFLAGS = \
+libopenocd_la_CPPFLAGS = \
-DPKGLIBDIR=\"$(pkglibdir)\" \
-DPKGBLDDATE=\"`date +%F-%R`\"
if RELEASE
-openocd_CPPFLAGS += -DRELSTR=\"Release\" -DPKGBLDREV=\"\"
+libopenocd_la_CPPFLAGS += -DRELSTR=\"Release\" -DPKGBLDREV=\"\"
else
-openocd_CPPFLAGS += -DRELSTR=\"svn:\" -DPKGBLDREV=\"`$(top_srcdir)/guess-rev.sh $(top_srcdir)`\"
+libopenocd_la_CPPFLAGS += -DRELSTR=\"svn:\" -DPKGBLDREV=\"`$(top_srcdir)/guess-rev.sh $(top_srcdir)`\"
endif
# add default CPPFLAGS
-openocd_CPPFLAGS += $(AM_CPPFLAGS) $(CPPFLAGS)
+libopenocd_la_CPPFLAGS += $(AM_CPPFLAGS) $(CPPFLAGS)
# the library search path.
-openocd_LDFLAGS = $(all_libraries)
-SUBDIRS = helper jtag xsvf svf target server flash pld
+libopenocd_la_LDFLAGS = $(all_libraries)
if IS_MINGW
MINGWLDADD = -lwsock32
@@ -72,16 +77,19 @@ endif
endif
endif
-openocd_LDADD = $(top_builddir)/src/xsvf/libxsvf.a $(top_builddir)/src/svf/libsvf.a \
- $(top_builddir)/src/target/libtarget.a $(top_builddir)/src/jtag/libjtag.a \
- $(top_builddir)/src/helper/libhelper.a \
- $(top_builddir)/src/server/libserver.a $(top_builddir)/src/helper/libhelper.a \
- $(top_builddir)/src/flash/libflash.a $(top_builddir)/src/target/libtarget.a \
- $(top_builddir)/src/pld/libpld.a \
+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/flash/libflash.la \
+ $(top_builddir)/src/target/libtarget.la \
+ $(top_builddir)/src/server/libserver.la \
+ $(top_builddir)/src/helper/libhelper.la \
$(FTDI2232LIB) $(MINGWLDADD) $(LIBUSB)
if HTTPD
-openocd_LDADD += -lmicrohttpd
+libopenocd_la_LIBADD += -lmicrohttpd
endif
nobase_dist_pkglib_DATA = \
diff --git a/src/flash/Makefile.am b/src/flash/Makefile.am
index db24001a..7895edc8 100644
--- a/src/flash/Makefile.am
+++ b/src/flash/Makefile.am
@@ -4,8 +4,8 @@ AM_CPPFLAGS = \
-I$(top_srcdir)/src/target
METASOURCES = AUTO
-noinst_LIBRARIES = libflash.a
-libflash_a_SOURCES = \
+noinst_LTLIBRARIES = libflash.la
+libflash_la_SOURCES = \
flash.c lpc2000.c cfi.c non_cfi.c at91sam7.c \
str7x.c str9x.c aduc702x.c nand.c nand_ecc.c \
lpc3180_nand_controller.c stellaris.c str9xpec.c stm32x.c tms470.c \
diff --git a/src/helper/Makefile.am b/src/helper/Makefile.am
index afe26b81..a5582783 100644
--- a/src/helper/Makefile.am
+++ b/src/helper/Makefile.am
@@ -5,7 +5,7 @@ AM_CPPFLAGS = \
-DPKGLIBDIR=\"$(pkglibdir)\"
METASOURCES = AUTO
-noinst_LIBRARIES = libhelper.a
+noinst_LTLIBRARIES = libhelper.la
if ECOSBOARD
CONFIGFILES =
@@ -15,19 +15,19 @@ endif
-libhelper_a_SOURCES = \
+libhelper_la_SOURCES = \
binarybuffer.c $(CONFIGFILES) configuration.c \
log.c command.c time_support.c \
replacements.c fileio.c startup_tcl.c
if IOUTIL
-libhelper_a_SOURCES += ioutil.c
+libhelper_la_SOURCES += ioutil.c
endif
-libhelper_a_CFLAGS =
+libhelper_la_CFLAGS =
if IS_MINGW
# FD_* macros are sloppy with their signs on MinGW32 platform
-libhelper_a_CFLAGS += -Wno-sign-compare
+libhelper_la_CFLAGS += -Wno-sign-compare
endif
noinst_HEADERS = binarybuffer.h configuration.h types.h log.h command.h \
diff --git a/src/jtag/Makefile.am b/src/jtag/Makefile.am
index 45883121..7ee59076 100644
--- a/src/jtag/Makefile.am
+++ b/src/jtag/Makefile.am
@@ -3,7 +3,7 @@ AM_CPPFLAGS = \
-I$(top_srcdir)/src/target
METASOURCES = AUTO
-noinst_LIBRARIES = libjtag.a
+noinst_LTLIBRARIES = libjtag.la
if BITBANG
BITBANGFILES = bitbang.c
@@ -109,8 +109,12 @@ else
ARMJTAGEWFILES =
endif
-libjtag_a_SOURCES = jtag.c $(BITBANGFILES) $(PARPORTFILES) $(DUMMYFILES) $(FT2232FILES) $(AMTJTAGACCELFILES) $(EP93XXFILES) \
- $(AT91RM9200FILES) $(GW16012FILES) $(BITQFILES) $(PRESTOFILES) $(USBPROGFILES) $(ECOSBOARDFILES) $(JLINKFILES) $(RLINKFILES) $(VSLLINKFILES) $(ARMJTAGEWFILES)
+libjtag_la_SOURCES = jtag.c \
+ $(BITBANGFILES) $(PARPORTFILES) $(DUMMYFILES) \
+ $(FT2232FILES) $(AMTJTAGACCELFILES) $(EP93XXFILES) \
+ $(AT91RM9200FILES) $(GW16012FILES) $(BITQFILES) \
+ $(PRESTOFILES) $(USBPROGFILES) $(ECOSBOARDFILES) \
+ $(JLINKFILES) $(RLINKFILES) $(VSLLINKFILES) $(ARMJTAGEWFILES)
noinst_HEADERS = bitbang.h jtag.h bitq.h rlink/dtc_cmd.h rlink/ep1_cmd.h rlink/rlink.h rlink/st7.h
diff --git a/src/pld/Makefile.am b/src/pld/Makefile.am
index 7fab855e..24e2c3d9 100644
--- a/src/pld/Makefile.am
+++ b/src/pld/Makefile.am
@@ -4,8 +4,8 @@ AM_CPPFLAGS = \
-I$(top_srcdir)/src/jtag
METASOURCES = AUTO
-noinst_LIBRARIES = libpld.a
+noinst_LTLIBRARIES = libpld.la
noinst_HEADERS = pld.h xilinx_bit.h virtex2.h
-libpld_a_SOURCES = pld.c xilinx_bit.c virtex2.c
+libpld_la_SOURCES = pld.c xilinx_bit.c virtex2.c
MAINTAINERCLEANFILES = Makefile.in
diff --git a/src/server/Makefile.am b/src/server/Makefile.am
index 34957a6d..4c8a3dce 100644
--- a/src/server/Makefile.am
+++ b/src/server/Makefile.am
@@ -6,23 +6,23 @@ AM_CPPFLAGS = \
-DPKGLIBDIR=\"$(pkglibdir)\"
METASOURCES = AUTO
-noinst_LIBRARIES = libserver.a
+noinst_LTLIBRARIES = libserver.la
noinst_HEADERS = server.h telnet_server.h gdb_server.h
-libserver_a_SOURCES = server.c telnet_server.c gdb_server.c
+libserver_la_SOURCES = server.c telnet_server.c gdb_server.c
if HTTPD
-libserver_a_SOURCES += httpd.c
+libserver_la_SOURCES += httpd.c
endif
-libserver_a_CFLAGS =
+libserver_la_CFLAGS =
if IS_MINGW
# FD_* macros are sloppy with their signs on MinGW32 platform
-libserver_a_CFLAGS += -Wno-sign-compare
+libserver_la_CFLAGS += -Wno-sign-compare
endif
# tcl server addons
noinst_HEADERS += tcl_server.h
-libserver_a_SOURCES += tcl_server.c
+libserver_la_SOURCES += tcl_server.c
if HTTPD
nobase_dist_pkglib_DATA = $(wildcard $(srcdir)/httpd/*.tcl $(srcdir)/httpd/*.css $(srcdir)/httpd/menu_cuts/*.png)
diff --git a/src/svf/Makefile.am b/src/svf/Makefile.am
index 73edd43f..2709788f 100644
--- a/src/svf/Makefile.am
+++ b/src/svf/Makefile.am
@@ -4,8 +4,8 @@ AM_CPPFLAGS = \
-I$(top_srcdir)/src/jtag
METASOURCES = AUTO
-noinst_LIBRARIES = libsvf.a
+noinst_LTLIBRARIES = libsvf.la
noinst_HEADERS = svf.h
-libsvf_a_SOURCES = svf.c
+libsvf_la_SOURCES = svf.c
MAINTAINERCLEANFILES = Makefile.in
diff --git a/src/target/Makefile.am b/src/target/Makefile.am
index 640ff4a6..90796180 100644
--- a/src/target/Makefile.am
+++ b/src/target/Makefile.am
@@ -11,8 +11,9 @@ AM_CPPFLAGS = \
-I$(top_srcdir)/src/xsvf
METASOURCES = AUTO
-noinst_LIBRARIES = libtarget.a
-libtarget_a_SOURCES = target.c register.c breakpoints.c armv4_5.c embeddedice.c etm.c arm7tdmi.c arm9tdmi.c \
+noinst_LTLIBRARIES = libtarget.la
+libtarget_la_SOURCES = target.c register.c breakpoints.c \
+ armv4_5.c embeddedice.c etm.c arm7tdmi.c arm9tdmi.c \
arm_jtag.c arm7_9_common.c algorithm.c arm920t.c arm720t.c armv4_5_mmu.c armv4_5_cache.c arm_disassembler.c \
arm966e.c arm926ejs.c feroceon.c etb.c xscale.c arm_simulator.c image.c armv7m.c cortex_m3.c cortex_a8.c arm_adi_v5.c \
etm_dummy.c $(OOCD_TRACE_FILES) target_request.c trace.c arm11.c arm11_dbgtap.c mips32.c mips_m4k.c \
diff --git a/src/xsvf/Makefile.am b/src/xsvf/Makefile.am
index 3553a7af..abc6b482 100644
--- a/src/xsvf/Makefile.am
+++ b/src/xsvf/Makefile.am
@@ -4,8 +4,8 @@ AM_CPPFLAGS = \
-I$(top_srcdir)/src/jtag
METASOURCES = AUTO
-noinst_LIBRARIES = libxsvf.a
+noinst_LTLIBRARIES = libxsvf.la
noinst_HEADERS = xsvf.h
-libxsvf_a_SOURCES = xsvf.c
+libxsvf_la_SOURCES = xsvf.c
MAINTAINERCLEANFILES = Makefile.in