OpenCores
URL https://opencores.org/ocsvn/adv_debug_sys/adv_debug_sys/trunk

Subversion Repositories adv_debug_sys

[/] [adv_debug_sys/] [trunk/] [Software/] [adv_jtag_bridge/] [Makefile.classic] - Rev 59

Compare with Previous | Blame | View Log

prefix = /usr/local

# Your build environment. selects libs, lib dirs, and include dirs
# Supported: linux, cygwin, freebsd
BUILD_ENVIRONMENT=cygwin

# Set this to 'true' if you want to build for the legacy debug unit ('debug_if' core),
# leave 'false' if you are building for the Advanced Debug Unit.
SUPPORT_LEGACY=false

# Set this to 'true' to include support for parallel cables
SUPPORT_PARALLEL_CABLES=true

# Set this to 'true' to include support for cables which require libusb
# currently includes Altera USB-Blaster and Xilinx XPC DLC8
SUPPORT_USB_CABLES=true

# Set this to 'true' to support cables which require libFTDI
# SUPPORT_USB_CABLES must also be set to 'true' to support FTDI-based cables.
SUPPORT_FTDI_CABLES=true

# Some Xilinx Parallel Cable IIIs will work just as fast as we can drive them.
# Some (clones) require us to limit their clock rate.  Three schemes are defined:
# "sleep_wait": tries not to use CPU, but may sleep much longer than desired
# "timer_wait": does busy-wait polling on a timer
# "no_wait": does not wait, runs as fast as possible
XPC3_LIMIT_SCHEME=timer_wait

# Normal error-checking on every word of a burst write can cause a significant
# slowdown, especially when using the USB-Blaster cable.  Setting this option
# true will eliminate this slowdown, at the cost of per-word error checking.
# Note that this option must also be defined in the hardware HDL.
USE_HISPEED=true

# If you have the JTAG Serial Port (JSP) included in you hardware, set
# the following to true to compile the JSP server
INCLUDE_JSP_SERVER=true

# The JTAG serial port is normally compatible with multi-device JTAG chains.
# However, this can hurt performance when using USB JTAG cables.  If you are
# using a USB JTAG cable and your JTAG chain has only one device on it,
# set this false to use a performance-optimized version.  Note this must also
# be defined in the hardware HDL.
JSP_MULTI_DEVICE_CHAIN=true

# Different optimizations have been implemented for different JTAG cables in
# the JSP driver.  The default implementation transfers the least number of
# bits, which works well for parallel JTAG cables.  When using a USB JTAG
# cable, set this to true to use a version of the driver that instead uses
# the smallest number of USB transactions.
JSP_OPTIMIZE_FOR_USB=true

# ----------------------------------------------------------------------------
# Most people shouldn't have to change anything below this line

ifeq ($(BUILD_ENVIRONMENT),linux)
# These are for native Linux.  You may need to put the path to libusb into the LIBS variable
# with the -L<dir> command.
CFLAGS = -g -O2 -Wall
CC = gcc
LIBS = -lpthread -lrt
INCLUDEDIRS = -I/usr/local/include/libusb-1.0/ -I/usr/include/ -I/usr/local/include/
endif

ifeq ($(BUILD_ENVIRONMENT),cygwin)
# These are for cygwin.  It assumes libusb.a is in the current directory.
CFLAGS = -g -O2 -Wall
CC = gcc
LIBS = -L. -lioperm -lpthread -lrt
INCLUDEDIRS = -I/usr/local/include/
endif

ifeq ($(BUILD_ENVIRONMENT),freebsd)
# These are for FreeBSD. Only FreeBSD >= 8 is supported (assumes, that
# libusb(8) is present in the base system (/usr/lib/libusb* exists).
CFLAGS = -g -O2 -Wall
CC = gcc
LIBS = -L. -L/usr/local/lib -lpthread -lrt
INCLUDEDIRS = -I/usr/local/include/
# We don't have a support for parallel cables on FreeBSD yet.
SUPPORT_PARALLEL_CABLES=false
endif

ifeq ($(SUPPORT_LEGACY),true)
CFLAGS +=  -D__LEGACY__
endif

ifeq ($(USE_HISPEED),true)
CFLAGS += -DADBG_OPT_HISPEED
endif

ifeq ($(JSP_MULTI_DEVICE_CHAIN),true)
CFLAGS += -DENABLE_JSP_MULTI
endif

ifeq ($(JSP_OPTIMIZE_FOR_USB),true)
CFLAGS += -DOPTIMIZE_JSP_FOR_USB
endif

ifeq ($(XPC3_LIMIT_SCHEME),sleep_wait)
CFLAGS += -D__PARALLEL_SLEEP_WAIT__
else
ifeq ($(XPC3_LIMIT_SCHEME),timer_wait)
CFLAGS += -D__PARALLEL_TIMER_BUSY_WAIT__
else
# no_wait is the default, nothing to define
endif
endif


PROGRAMS = adv_jtag_bridge

HEADERS = adv_jtag_bridge.h chain_commands.h opencores_tap.h \
        altera_virtual_jtag.h rsp-server.h bsdl.h or32_selftest.c cable_common.h \
        cable_sim.h \
        bsdl_parse.h errcodes.h spr-defs.h except.h adv_dbg_commands.h dbg_api.h \
        legacy_dbg_commands.h utilities.h hardware_monitor.h hwp_server.h

SOURCES = adv_jtag_bridge.c rsp-server.c chain_commands.c cable_common.c bsdl.c \
        or32_selftest.c cable_sim.c utilities.c \
        bsdl_parse.c errcodes.c adv_dbg_commands.c dbg_api.c legacy_dbg_commands.c \
        hardware_monitor.c hwp_server.c

OBJECTS = adv_jtag_bridge.o rsp-server.o chain_commands.o cable_common.o bsdl.o \
        or32_selftest.o cable_sim.o utilities.o \
        bsdl_parse.o errcodes.o adv_dbg_commands.o dbg_api.o legacy_dbg_commands.o \
        hardware_monitor.o hwp_server.o


ifeq ($(SUPPORT_PARALLEL_CABLES),true)
CFLAGS += -D__SUPPORT_PARALLEL_CABLES__
HEADERS += cable_parallel.h
SOURCES += cable_parallel.c
OBJECTS += cable_parallel.o
endif

ifeq ($(SUPPORT_USB_CABLES),true)
CFLAGS += -D__SUPPORT_USB_CABLES__
HEADERS += cable_xpc_dlc9.h cable_usbblaster.h
SOURCES += cable_xpc_dlc9.c cable_usbblaster.c
OBJECTS += cable_xpc_dlc9.o cable_usbblaster.o

ifeq ($(SUPPORT_FTDI_CABLES),true)
CFLAGS += -D__SUPPORT_FTDI_CABLES__
LIBS += -lftdi
HEADERS += cable_ft2232.h cable_ft245.h
SOURCES += cable_ft2232.c cable_ft245.c
OBJECTS += cable_ft2232.o cable_ft245.o
endif

# libusb must follow libftdi in the list of libraries
LIBS += -lusb
endif

ifeq ($(INCLUDE_JSP_SERVER),true)
CFLAGS += -DENABLE_JSP
HEADERS += jsp_server.h
SOURCES += jsp_server.c
OBJECTS += jsp_server.o
endif


all: $(PROGRAMS)

default: $(PROGRAMS)

.c.o:
        $(CC) $(CFLAGS) -c $<

adv_jtag_bridge: Makefile $(OBJECTS) $(HEADERS)
        rm -f $@
        $(CC) -o $@ $(CFLAGS) $(INCLUDEDIRS) $(OBJECTS) $(LIBS)


install: all
        [ -d $(prefix)/bin ] || mkdir -p $(prefix)/bin
        for p in $(PROGRAMS) ; do \
            /bin/rm -f $(prefix)/bin/$$p; \
            /bin/cp -p $$p $(prefix)/bin/$$p; \
        done

clean: Makefile
        rm -f $(PROGRAMS) *.o *~

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.