Files
rtems/make/custom/ts_386ex.cfg
Joel Sherrill 29e68b7584 Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
This patch is an addition to "The big-patch"

  CHANGES:
  * FIX: c/Makefile.am: bogus comment which changed the behavior of
    c/Makefile.am removed
  * FIX: make/custom/ts_i386ex.cfg did not set HAS_NETWORKING correctly
    (Me thinks it might have been me who added this bogus setting :-).

  * NEW: removing make targets get, protos, debug_install, profile_install

  * NEW: replacing clobber with distclean
  * NEW: Reimplement distclean and clean as reverse depth first make
    targets (adaptation to automake's behavior)
  * NEW: removing RCS_CLEAN from make distclean (tools/build/rcs_clean is
    still in - remove it?)
  * NEW: "$(RM) Makefile" added to make distclean (adaptation to
    automake's behavior)
  * NEW: "$(RM) config.cache config.log" to CLOBBER_ADDITIONS in
    [lib|exec|tests]/Makefile.in (adaptation to automake's behavior)
  * NEW: "$(CLEAN_PROTOS)" removed (Not used anywhere)
  * NEW: binpatch.c moved from i386 bsp tools to tools/build (AFAIS,
    binpatch is not specific to the pc386 BSP at all)
  * NEW: AC_EXEEXT added to all configure scripts which contain AC_PROG_CC
    (Cygwin support)

  * NEW/Experimental: An experimental implementation of temporary
    installation tree support in libbsp/i386/pc386/tools/Makefile.am, based
    on dependency tracking with make, instead of applying INSTALL_CHANGE.


  REMARK:
  * This patch is small in size, but changes the behavior of "make
    clean|distclean|clobber" basically.
  * This patch does not alter building/compiling RTEMS, ie. there should
    be no need to rerun all "make all" building tests.

  KNOWN BUGS:
  * make RTEMS_BSP="..." distclean in c/ runs "make distclean" in BSPs
    subdirectories passed through RTEMS_BSP and in "c/." only, but does not
    descend into other BSP subdirectories previously configured with
    different settings of make RTEMS_BSP="...".
    => Workaround: always use the same setting of RTEMS_BSP when working
    inside the build-tree.

  * "make [distclean|clean]" do not clean subdirectories, which have been
    configured at configuration time, but  which are not used due to
    make-time configuration (e.g. macros/networking/rdgb subdirectories).
    This will problem will vanish by itself when migrating from make-time to
    configuration-time configuration

  APPLYING THE PATCH

      mv c/src/lib/libbsp/i386/pc386/tools/binpatch.c tools/build
      patch -p1 < rtems-rc-19990709-2.diff
      autogen
1999-07-26 21:26:44 +00:00

94 lines
2.9 KiB
INI

#
# Config file for the ts-386ex BSP
#
# $Id$
#
include $(RTEMS_ROOT)/make/custom/default.cfg
RTEMS_CPU=i386
RTEMS_CPU_MODEL=i386_nofp
# This is the actual bsp directory used during the build process.
RTEMS_BSP_FAMILY=ts_386ex
# This contains the compiler options necessary to select the CPU model
# and (hopefully) optimize for it. Enables software floating-point
# emulation since we don't have a i387 co-processor.
#
CPU_CFLAGS =-msoft-float -mno-fp-ret-in-387
# optimize flag: typically -0, could use -O4 or -fast
# -O4 is ok for RTEMS
# -fomit-frame-pointer breaks debugging and C++ exceptions
CFLAGS_OPTIMIZE_V=-O4
# This BSP does not support librdbg
HAS_RDBG=no
# This section makes the target dependent options file.
# NDEBUG (C library)
# if defined asserts do not generate code. This is commonly used
# as a command line option.
#
# RTEMS_TEST_NO_PAUSE (RTEMS tests)
# do not pause between screens of output in the rtems tests
#
# RTEMS_DEBUG (RTEMS)
# If defined, debug checks in RTEMS and support library code are enabled.
#
# BSP_DEBUG (BSP)
# Enables some debugging in the BSP package.
#
# LOAD_RTC_AT_START (BSP)
# Initialize RTC and load into system clock at startup. This will break
# some tests.
define make-target-options
@echo "/* #define NDEBUG 1 */ " >>$@
@echo "#define RTEMS_TEST_NO_PAUSE 1" >>$@
@echo "#define RTEMS_DEBUG 1" >>$@
@echo "#define UARTDEBUG 1" >>$@
@echo "#define BSP_DEBUG 1" >>$@
@echo "#define LOAD_RTC_AT_START 1" >>$@
endef
# Something like this should produce a map file but this does not work.
# -Xlinker "-Map $(basename $@).map" $(LINK_OBJS)
#
# This is a good way to get debug information. The rdmp file is large
# though (1.9 Mb for hello) and greatly slows the build process.
# $(OBJDUMP) -x -m i386 -d $(basename $@).coff > $(basename $@).rdmp
# The following are definitions of make-exe which will work using ld as
# is currently required. It is expected that as of gcc 2.8, the end user
# will be able to override parts of the compilers specs and link using gcc.
ifeq ($(RTEMS_USE_GCC272),yes)
define make-exe
$(LD) $(LDFLAGS) -N -T $(LINKCMDS) -o $(basename $@).coff \
-noinhibit-exec -Map $(basename $@).map \
$(START_FILE) $(LINK_OBJS) --start-group $(LINK_LIBS) --end-group
$(OBJCOPY) -O srec $(basename $@).coff $(basename $@).i
$(SED) -e 's/.$$//' -e '/^S0/d' $(basename $@).i | \
$(PACKHEX) > $(basename $@).exe
$(NM) -g -n $(basename $@).coff > $(basename $@).num
$(SIZE) $(basename $@).coff
endef
else
define make-exe
$(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).coff \
$(LINK_OBJS) $(LINK_LIBS)
$(OBJCOPY) -O srec $(basename $@).coff $(basename $@).i
$(SED) -e 's/.$$//' -e '/^S0/d' $(basename $@).i | \
$(PACKHEX) > $(basename $@).exe
$(NM) -g -n $(basename $@).coff > $(basename $@).num
$(SIZE) $(basename $@).coff
endef
endif
# Miscellaneous additions go here