Browse Source

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
tags/v0.2.0
zwelch 13 years ago
parent
commit
647e61cc6d
12 changed files with 54 additions and 38 deletions
  1. +1
    -0
      Makefile.am
  2. +1
    -0
      bootstrap
  3. +1
    -0
      configure.in
  4. +22
    -14
      src/Makefile.am
  5. +2
    -2
      src/flash/Makefile.am
  6. +5
    -5
      src/helper/Makefile.am
  7. +7
    -3
      src/jtag/Makefile.am
  8. +2
    -2
      src/pld/Makefile.am
  9. +6
    -6
      src/server/Makefile.am
  10. +2
    -2
      src/svf/Makefile.am
  11. +3
    -2
      src/target/Makefile.am
  12. +2
    -2
      src/xsvf/Makefile.am

+ 1
- 0
Makefile.am View File

@@ -20,6 +20,7 @@ MAINTAINERCLEANFILES = \
config.h.in \
config.h.in~ \
compile \
ltmain.sh \
missing \
aclocal.m4 \
install-sh

+ 1
- 0
bootstrap View File

@@ -1,5 +1,6 @@
aclocal \
&& autoheader \
&& libtoolize --automake \
&& automake --foreign --add-missing --copy \
&& autoconf



+ 1
- 0
configure.in View File

@@ -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])


+ 22
- 14
src/Makefile.am View File

@@ -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 = \


+ 2
- 2
src/flash/Makefile.am View File

@@ -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 \


+ 5
- 5
src/helper/Makefile.am View File

@@ -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 \


+ 7
- 3
src/jtag/Makefile.am View File

@@ -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



+ 2
- 2
src/pld/Makefile.am View File

@@ -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

+ 6
- 6
src/server/Makefile.am View File

@@ -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)


+ 2
- 2
src/svf/Makefile.am View File

@@ -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

+ 3
- 2
src/target/Makefile.am View File

@@ -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 \


+ 2
- 2
src/xsvf/Makefile.am View File

@@ -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

Loading…
Cancel
Save