Next: SynDEx Downloader Specification
Up: Code generation
Previous: How to Load the
  Contents
All processor types require the same compilation sequence, but with different compilation tools:
- macroprocessing of the macro-executive generated by SynDEx,
- compilation into processor-specific object code,
- linking into processor-memory-map-specific executable code,
- postprocessing into common downloadable format.
This compilation sequence may be automatically generated for each processor by macroprocessing the macro-makefile generated by SynDEx, which includes:
- a very first macro-call: "include(syndex.m4m)" includes the file
syndex.m4m, which generates a makefile header, and defines the
macros "architecture_", "processor_", "connect_", and
"endarchitecture_" used in the macro-makefile;
- the second macro-call: "architecture_(applicationName, version,
date)" (where "applicationName" stands for the application name, as
specified under SynDEx), includes the file applicationName.m4m, if
it exists, which defines application-specific make-macros;
- for each processor, a macro-call: "processor_(processorType,
processorName, connectorsTypeAndName)" (where "processorType",
"processorName", and "connectorsTypeAndName" respectively stand for
the processor type name, the processor name, and a list of pairs,
one for each media-connector of the processor, with the medium type
name and the media-connector name, as specified under SynDEx),
includes the file processorType.m4m, which should have for side
effect to generate the required compilation dependences for this
processor;
- for each medium, a macro-call: "connect_(mediaType, mediaName,
connectorsOprAndName)" (where "mediaType", "mediaName", and
"connectorsOprAndName" respectively stand for the medium type name,
the medium name, and a list of pairs, one for each processor
connected to the medium, with the processor name and its
media-connector name, as specified under SynDEx), includes the file
mediaType.m4m, if it exists, which should have for side effect to
generate any loader-specific dependences (presently unused).
Although this indirect inclusion mechanism is able to generate most of
the core makefile, an application-specific "top" makefile is still
required to specify how to generate the core makefile, and to specify
the compilation and linking dependencies with application-specific
files (include files, separately compiled files and libraries).
Next: SynDEx Downloader Specification
Up: Code generation
Previous: How to Load the
  Contents
Julien Forget
2003-03-21