Files
rtems/make/custom/pc386.cfg
Joel Sherrill dbaf51a44b Patch from Emmanuel Raguet <raguet@crf.canon.fr>:
Here is a patch for KA9Q stack.

    This patch contains an Ethernet Driver for Western Digital,
    some fixes for the UDP and TCP protocols (for endian conversion)
    and some little programs which allow the test of UDP and TCP
    sockets via Ethernet.

    I have tested that on an Intel machine. If someone can test it
    on a big-endian machine, ...
1998-07-23 22:13:10 +00:00

115 lines
3.9 KiB
INI

#
# Config file for the PC 386 BSP
#
# $Id$
#
include $(RTEMS_ROOT)/make/custom/default.cfg
RTEMS_CPU=i386
RTEMS_CPU_MODEL=i386_fp
# This is the actual bsp directory used during the build process.
RTEMS_BSP_FAMILY=pc386
# This contains the compiler options necessary to select the CPU model
# and (hopefully) optimize for it.
#
CPU_CFLAGS =
# optimize flag: typically -0, could use -O4 or -fast
# -O4 is ok for RTEMS
CFLAGS_OPTIMIZE_V=-O4 -fomit-frame-pointer
# Define this to yes if this target supports multiprocessor environments.
HAS_MP=no
# This target does NOT support the KA9Q TCP/IP stack so ignore requests
# to enable it.
HAS_KA9Q=yes
# 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.
define make-target-options
@echo "/* #define NDEBUG 1 */ " >>$@
@echo "/* #define RTEMS_TEST_NO_PAUSE 1 */" >>$@
@echo "/* #define RTEMS_DEBUG 1 */" >>$@
endef
# Here is the rule to actually build a $(ARCH)/foo.exe
# It also builds $(ARCH)/foo.sr and $(ARCH)/foo.nm
# Usage ref: src/tests/sptest/sp1/Makefile
#+--------------------------------------------------------------------------+
#| Set the value of RELOCADDR to the address where you want your image to
#| load. If you'll be using GRUB to load the images it will have to be >=
#| 0x100000 (1024K). If you are using NetBoot to load the images it can be
#| >= 0x10000 (64K) AND <= 0x97C00 (607K) OR >= 0x100000 (1024K). The memory
#| top is of course another limit. Make sure there is enough space before the
#| upper memory limits for the image and the memory allocated by it to fit.
#| Make sure the value you choose is aligned to 4 bytes.
#+--------------------------------------------------------------------------+
RELOCADDR=0x00100000
START16FILE=$(PROJECT_RELEASE)/lib/start16.bin
START16ADDR=0x00097C00
HEADERADDR=0x00097E00
# 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) -N -T $(LINKCMDS) -Ttext $(RELOCADDR) -e start -nostdlib \
-o $(basename $@).obj \
$(START_FILE) $(LINK_OBJS) --start-group $(LINK_LIBS) --end-group
$(OBJCOPY) -O a.out-i386 \
--remove-section=.rodata \
--remove-section=.comment \
--remove-section=.note \
--strip-unneeded $(basename $@).obj $@
$(OBJCOPY) -O binary $(basename $@).obj $(basename $@).bin
$(PROJECT_TOOLS)/bin2boot -v $(basename $@).bt $(HEADERADDR)\
$(START16FILE) $(START16ADDR) 0 $(basename $@).bin $(RELOCADDR) 0
$(NM) -g -n $(basename $@).obj > $(basename $@).num
$(SIZE) $(basename $@).obj
$(INSTALL_VARIANT) -m 555 $(basename $@).bt ${PROJECT_RELEASE}/BootImgs
endef
else
define make-exe
$(CC) $(CFLAGS) $(CFLAGS_LD) -Wl,-Ttext,$(RELOCADDR) \
-Wl,--oformat,elf32-i386 -o $(basename $@).obj \
-o $(basename $@).obj \
$(LINK_OBJS) $(LINK_LIBS)
$(OBJCOPY) -O a.out-i386 \
--remove-section=.rodata \
--remove-section=.comment \
--remove-section=.note \
--strip-unneeded $(basename $@).obj $@
$(OBJCOPY) -O binary $(basename $@).obj $(basename $@).bin
$(PROJECT_TOOLS)/bin2boot -v $(basename $@).bt $(HEADERADDR)\
$(START16FILE) $(START16ADDR) 0 $(basename $@).bin $(RELOCADDR) 0
$(NM) -g -n $(basename $@).obj > $(basename $@).num
$(SIZE) $(basename $@).obj
$(INSTALL_VARIANT) -m 555 $(basename $@).bt ${PROJECT_RELEASE}/BootImgs
$(CC) $(CFLAGS) $(CFLAGS_LD) -Wl,-Ttext,$(RELOCADDR) \
-o $(basename $@).coff $(LINK_OBJS) $(LINK_LIBS)
endef
endif
# Miscellaneous additions go here