...
The reader is assumed to be familiar with the tools in the gnu collection.
Anchor | ||||
---|---|---|---|---|
|
General compilation and linking requirements
...
The dynamic linker fails if presented with duplicate symbol names. A given symbol can be used in more than one module, but only if those modules are never loaded together.
Host objects
TBW.
Anchor | ||||
---|---|---|---|---|
|
Makefile and build product hierarchy
...
Directory structure for rce build products
Anchor | ||||
---|---|---|---|---|
|
Global make variables
-Under construction-
...
Build directories for host (non-module) code:
objdir
libdir
bindir
Anchor | ||||
---|---|---|---|---|
|
Constituent makefiles
This section describes the most common make rules and option flags for building constituents.
...
Constituent make rules for host objects
TBW.
Anchor | ||||
---|---|---|---|---|
|
Packages and project makefiles
...
Use application-specific files
projects.mk at top level
packages.mk for projects
Anchor | ||||
---|---|---|---|---|
|
Make examples
gmake is invoked as follows:
...
Code Block |
---|
// change directory to top of release tree prompt> gmake rceapp.console.ppc-rtems-rce405.obj |
Anchor | ||||
---|---|---|---|---|
|
Make invocation options
Path specification
...
Make rule | Description |
---|---|
all | Build 'bin' and user-defined |
dir | Create build directories, but do not build. |
obj | Compile sources |
lib | Build libraries from object files |
bin | Build libraries, executables and modules |
clean | Remove all built products |
cleanall | Same as 'clean', but removes some tmp directories as well |
List what is built and where it goes |
Anchor | ||||
---|---|---|---|---|
|
Compiler options for rce modules
...
Code Block |
---|
ifeq ($(tgt_cpu_family)-$(tgt_os),ppc-rtems) AS := powerpc-rtems-as CPP := powerpc-rtems-cpp CC := powerpc-rtems-gcc CXX := powerpc-rtems-g++ LD := powerpc-rtems-ld LX := powerpc-rtems-g++ ifeq ($(tgt_board),rce405) RTEMSDIR := $(RELEASE_DIR)/build/rtems/target/powerpc-rtems/rce405/lib endif ifeq ($(tgt_board),ml405) RTEMSDIR := $(RELEASE_DIR)/build/rtems/target/powerpc-rtems/ml405/lib endif LDTOOLSD := $(RELEASE_DIR)/rce/ldtools LIBEXTNS := a DEPFLAGS := -B$(RTEMSDIR) -MM DEFINES += -Dppc405 CPPFLAGS := CFLAGS := -B$(RTEMSDIR) -specs bsp_specs -qrtems -mcpu=403 -Wall CXXFLAGS := $(CFLAGS) CASFLAGS := -x assembler-with-cpp -P $(CFLAGS) LDFLAGS := -r LXFLAGS := -B$(RTEMSDIR) -specs $(LDTOOLSD)/dynamic_specs \ -qrtems -qnolinkcmds -Wl,-T$(LDTOOLSD)/dynamic.ld \ -mcpu=403 MANAGERS := timer sem msg event signal part region dpmem io rtmon ext mp MDEFINES := $(DEFINES) -DEXPORT='__attribute__((visibility("default")))' MCFLAGS := -B$(RTEMSDIR) -specs $(LDTOOLSD)/module_specs \ -qrtems -Wall -fvisibility=hidden -mlongcall -fno-pic -mcpu=403 MCXXFLAGS := $(MCFLAGS) MCASFLAGS := -x assembler-with-cpp -P $(MCFLAGS) MLDFLAGS := -r MLXFLAGS := -B$(RTEMSDIR) -specs $(LDTOOLSD)/module_specs \ -qrtems -qnolinkcmds -Wl,-T$(LDTOOLSD)/module.ld-mcpu=403 \ -shared -nostdlib |
Anchor | ||||
---|---|---|---|---|
|
gnu linker options for rce modules
...