RTEMS Logo

RTEMS 4.7.2 On-Line Library


Makefiles Wrapup Makefile

PREV UP NEXT Bookshelf BSP and Device Driver Development Guide

3.1.3: Wrapup Makefile

This class of Makefiles produces a library. The BSP wrapup Makefile is responsible for producing the library libbsp.a which is later merged into the librtemsall.a library. This Makefile specifies which BSP components are to be placed into the library as well as which components from the CPU dependent support code library. For example, this component may choose to use a default exception handler from the CPU dependent support code or provide its own.

This Makefile makes use of the foreach construct in GNU make to pick up the required components:

BSP_PIECES=startup clock console timer
CPU_PIECES=
GENERIC_PIECES=

# bummer; have to use $foreach since % pattern subst
#              rules only replace 1x
OBJS=$(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/$(piece).o) \
 $(foreach piece, $(CPU_PIECES), \
   ../../../../libcpu/$(RTEMS_CPU)/$(piece)/$(ARCH)/$(piece).o) \
 $(wildcard \
   ../../../../libcpu/$(RTEMS_CPU)/$(RTEMS_CPU_MODEL)/fpsp/$(ARCH)/fpsp.rel) \
 $(foreach piece, \
   $(GENERIC_PIECES), ../../../$(piece)/$(ARCH)/$(piece).o)

The variable OBJS is the list of "pieces" expanded to include path information to the appropriate object files. The wildcard function is used on pieces of libbsp.a which are optional and may not be present based upon the configuration options.


PREV UP NEXT Bookshelf BSP and Device Driver Development Guide

Copyright © 1988-2004 OAR Corporation