Extend autotools build to create shared library libopenocd with libtool:
[fw/openocd] / src / Makefile.am
index 24333e31221c50ff92787d3484cec0a81e91bb91..c785e2acd7d80375283f674492c26fc5241e418a 100644 (file)
@@ -1,3 +1,6 @@
+SUBDIRS = helper jtag xsvf svf target server flash pld
+
+lib_LTLIBRARIES = libopenocd.la
 bin_PROGRAMS = openocd
 
 if ECOSBOARD
@@ -6,24 +9,39 @@ else
 MAINFILE = main.c
 endif
 
+openocd_SOURCES = $(MAINFILE) 
+openocd_LDADD = libopenocd.la
 
-openocd_SOURCES = $(MAINFILE) openocd.c
+libopenocd_la_SOURCES = openocd.c
 
 # set the include path found by configure
-INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/src/helper \
-       -I$(top_srcdir)/src/jtag -I$(top_srcdir)/src/target -I$(top_srcdir)/src/xsvf -I$(top_srcdir)/src/svf \
-       -I$(top_srcdir)/src/server -I$(top_srcdir)/src/flash -I$(top_srcdir)/src/pld $(all_includes)
+AM_CPPFLAGS = \
+       -I$(top_srcdir)/src \
+       -I$(top_srcdir)/src/helper \
+       -I$(top_srcdir)/src/jtag \
+       -I$(top_srcdir)/src/target \
+       -I$(top_srcdir)/src/xsvf \
+       -I$(top_srcdir)/src/svf \
+       -I$(top_srcdir)/src/server \
+       -I$(top_srcdir)/src/flash \
+       -I$(top_srcdir)/src/pld
 
 # pass path to prefix path
-openocd_CPPFLAGS = \
+libopenocd_la_CPPFLAGS = \
  -DPKGLIBDIR=\"$(pkglibdir)\" \
- -DPKGBLDDATE=\"`date +%F-%R`\" \
- -DPKGBLDREV=\"`$(top_srcdir)/guess-rev.sh`\" \
- @CPPFLAGS@
+ -DPKGBLDDATE=\"`date +%F-%R`\"
+
+if RELEASE
+libopenocd_la_CPPFLAGS += -DRELSTR=\"Release\" -DPKGBLDREV=\"\"
+else
+libopenocd_la_CPPFLAGS += -DRELSTR=\"svn:\" -DPKGBLDREV=\"`$(top_srcdir)/guess-rev.sh $(top_srcdir)`\"
+endif
+
+# add default 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
@@ -59,23 +77,21 @@ 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 = \
        tcl/bitsbytes.tcl                       \
        tcl/chip/atmel/at91/aic.tcl             \
@@ -95,3 +111,5 @@ nobase_dist_pkglib_DATA = \
        tcl/memory.tcl                          \
        tcl/mmr_helpers.tcl                     \
        tcl/readable.tcl
+
+MAINTAINERCLEANFILES = Makefile.in