X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2FMakefile.am;h=3413ba953f5e39638df1bf235e261c94b429ea79;hp=c785e2acd7d80375283f674492c26fc5241e418a;hb=191a5736c202dfb784e86a8190edc64e80dc62e5;hpb=647e61cc6d9b13dd2799d2302ce9289a1627e36c diff --git a/src/Makefile.am b/src/Makefile.am index c785e2acd7..3413ba953f 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,50 +1,64 @@ -SUBDIRS = helper jtag xsvf svf target server flash pld - -lib_LTLIBRARIES = libopenocd.la +include $(top_srcdir)/common.mk + +SUBDIRS = \ + jtag \ + helper \ + target \ + transport \ + flash \ + svf \ + xsvf \ + pld \ + server \ + rtos + +noinst_LTLIBRARIES = libopenocd.la bin_PROGRAMS = openocd -if ECOSBOARD -MAINFILE = ecosboard.c -else MAINFILE = main.c -endif -openocd_SOURCES = $(MAINFILE) +openocd_SOURCES = $(MAINFILE) openocd_LDADD = libopenocd.la -libopenocd_la_SOURCES = openocd.c - -# set the include path found by configure -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 -libopenocd_la_CPPFLAGS = \ - -DPKGLIBDIR=\"$(pkglibdir)\" \ - -DPKGBLDDATE=\"`date +%F-%R`\" +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=\"Release\" -DPKGBLDREV=\"\" +libopenocd_la_CPPFLAGS += -DRELSTR=\"\" +libopenocd_la_CPPFLAGS += -DGITVERSION=\"\" else -libopenocd_la_CPPFLAGS += -DRELSTR=\"svn:\" -DPKGBLDREV=\"`$(top_srcdir)/guess-rev.sh $(top_srcdir)`\" +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) +libopenocd_la_LDFLAGS = $(all_libraries) if IS_MINGW -MINGWLDADD = -lwsock32 +MINGWLDADD = -lws2_32 else MINGWLDADD = endif @@ -59,22 +73,13 @@ FTDI2232LIB = endif endif -if USBPROG -LIBUSB = -lusb -else -if JLINK -LIBUSB = -lusb -else -if RLINK -LIBUSB = -lusb -else -if VSLLINK -LIBUSB = -lusb -else LIBUSB = +if USE_LIBUSB1 +LIBUSB += $(LIBUSB1_LIBS) endif -endif -endif + +if USE_LIBUSB0 +LIBUSB += $(LIBUSB0_LIBS) endif libopenocd_la_LIBADD = \ @@ -82,34 +87,49 @@ libopenocd_la_LIBADD = \ $(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 \ $(FTDI2232LIB) $(MINGWLDADD) $(LIBUSB) -if HTTPD -libopenocd_la_LIBADD += -lmicrohttpd -endif +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_builddir)/src/helper/bin2char$(EXEEXT_FOR_BUILD) + +# 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 -nobase_dist_pkglib_DATA = \ - tcl/bitsbytes.tcl \ - tcl/chip/atmel/at91/aic.tcl \ - tcl/chip/atmel/at91/at91sam7x128.tcl \ - tcl/chip/atmel/at91/at91sam7x256.tcl \ - tcl/chip/atmel/at91/pmc.tcl \ - tcl/chip/atmel/at91/rtt.tcl \ - tcl/chip/atmel/at91/usarts.tcl \ - tcl/chip/st/stm32/stm32.tcl \ - tcl/chip/st/stm32/stm32_rcc.tcl \ - tcl/chip/st/stm32/stm32_regs.tcl \ - tcl/cpu/arm/arm7tdmi.tcl \ - tcl/cpu/arm/arm920.tcl \ - tcl/cpu/arm/arm946.tcl \ - tcl/cpu/arm/arm966.tcl \ - tcl/cpu/arm/cortex_m3.tcl \ - tcl/memory.tcl \ - tcl/mmr_helpers.tcl \ - tcl/readable.tcl - -MAINTAINERCLEANFILES = Makefile.in