• Ben Avison's avatar
    Improvements to shared makefiles · 684d01e3
    Ben Avison authored
    Detail:
      * Some subtle bugs can be caused by including shared makefiles in the
        wrong order. To try to prevent further problems, and simplify main
        makefiles at the same time, CApp, CLibrary and CModule now include the
        makefiles they depend upon themselves, in the correct order: generally
        speaking, all macro (re)definitions should be before rule definitions.
      * Added sentry macro definitions to each makefile. These can be used to
        avoid repeated inclusion of makefiles - particularly important now that
        CApp, CLibrary and CModule do additional includes. This removes the
        majority of cases where amu produced warnings about multiple inclusion;
        a few components remain where this is still the case, but these
        warnings are harmless. If they bother you, simply remove the
        now-superfluous include statements from the relevant main makefile.
      * Created a CUtil shared makefile, for building transient utilities. The
        'C' in the name is more for consistency with CApp/CLibrary/CModule than
        anything to do with the 'C' language, since all of these makefiles work
        equally well for assembler and 'C' - the 'C' is for historic reasons.
      * Tweaked the debug rules in CApp to avoid harmless but annoying linker
        warnings about stubs being included twice.
      * Added several new default switches to ASFLAGS. These enable us to start
        making assembler source files work under a cross-assembler, because
        statements like
            GET  Hdr:Macros
            GET  Hdr:Machine.<Machine>
        are not portable, and tweaking the cross-assembler to understand these
        types of constructs would not be pretty. Instead, with the extra
        command line switches now introduced, you can use
            GET  Macros
            GET  Machine/$Machine
    Admin:
      Tested in a ROM build
    
    Version 5.12. Tagged as 'BuildSys-5_12'
    684d01e3
AppStdRule 863 Bytes