1. 20 May, 2019 1 commit
    • Robert Sprowson's avatar
      Preserve the timestamp when INSERTVERSION operates on Messages · d3b77865
      Robert Sprowson authored
      Those RAM loading modules which pick from VersionNum and insert into their Messages would create a new Messages file with a new date every time they are built. Because the tools to put these in ResourceFS also capture the file's datestamp (via :FLOAD: :FEXEC: in objasm, or via resgen for C modules), you don't create binary identical copies on two successive builds despite the same input source.
      Add a ${TOUCH} step to copy the reference time stamp to the generated Messages file.
      Requires Library-1_96 or later for Touch.
  2. 14 Apr, 2018 1 commit
    • Ben Avison's avatar
      Makefile bugfixes · 53b25b7a
      Ben Avison authored
        * This was the odd-one out amongst top-level shared makefiles in that it
          still required the master makefile to include StdTools explicitly - even
          the GNU version of this makefile did so. Now changed for consistency.
        * Fixed typo in renaming of MERGEDMDIR to MERGEDRDIR.
        Fixes build error in latest FPEmulator
      Version 7.25. Tagged as 'BuildSys-7_25'
  3. 11 Apr, 2018 1 commit
    • Ben Avison's avatar
      Incremental step in cross-compilation support · 5e83cb7e
      Ben Avison authored
        * Correct capitalisation of resgen's TARGET to match its main source file
        * Targets now given ,ffa filetype suffix
        * Support source directory layouts s/<subdir>/<leaf> as used by the
          kernel and printer drivers - define SYMLINK_EXT_FIRST to enable
        * Prevent relinking when running make on an up-to-date component due to
          a difference between amu and GNU make's handling of double-colon rules
        * Support linking with GNU toolchain
        * Fix installation rule (mixup between MERGEDMDIR and MERGEDRDIR)
        * Support up to 16 assembler and 8 C-from-assembler headers, up from 3
          of each (here's looking at you, kernel) - long-term, it might be worth
          changing this to a scheme like that used by CModule to remove any
        * Fix C-from-assembler exports to have .h suffix
        * Define INCLUDE_OSLIB to permit OSLib header search paths to be
          specified in an OS-agnostic way
        * Prevent relinking when running make on an up-to-date component due to
          a difference between amu and GNU make's handling of double-colon rules
        * Prevent rearchiving when running make on an up-to-date component due
          to a difference between amu and GNU make's handling of double-colon
        * Don't use .hdr suffix on exported assembler header files
        * Correct order of dependencies for export_libs phony target
        * Definition for the module filetype suffix
        * Add LDBIN tool for GNU/Norcroft-agnostic binary link, useful for
          linking position-independent binary code, such as relocatable modules
          (i.e. ones that don't require the linker to create a __RelocCode
        * FAPPEND function now works if the same file is used for the
          destination as for one of the sources (this is used by CModule)
        GNUmakefiles/CModule, ModStdRule, ModuleLibs:
        * Finally created cross-compilation versions of the last major shared
          makefiles! Warning: these have received limited testing to date.
        * Support up to 16 assembler and 8 C-from-assembler headers
        Makefiles/AppLibs, ModuleLibs:
        * Define INCLUDE_OSLIB
        * Add LDBIN tool
      Version 7.24. Tagged as 'BuildSys-7_24'
  4. 12 Mar, 2018 1 commit
    • Ben Avison's avatar
      Changes to keep GNUmakefiles and Makefiles compatible · d8eeed92
      Ben Avison authored
        * Adopt same extensible syntax for describing resources phase files as CModule (see BuildSys 6.91)
        * Don't permit CALLXLIB to be used for application builds (see BuildSys 6.61)
        * Reflect MODMALLOCLIB leafname change (see BuildSys 6.61)
        * Add install_debug_app rule for debug app installations (see BuildSys 6.53)
        * Allow additional dependencies to be specified using LIB_DEPENDS (see BuildSys 6.63)
        * Gains install target (see BuildSys 7.15)
        * Add shell implementation of FAppend (see BuildSys 6.45) - compatible except for the fact that the destination is given current timestamp
        * ${NOP} no longer implicitly includes the silent-command prefix character @ (see BuildSys 6.50)
        * Add CPVFLAGS (see BuildSys 6.53) although it can't achieve anything as a suffix to the command
        * Add shell implementation of EraseCVS (see BuildSys 6.53)
        * Add InstViaRG tool (see BuildSys 6.70)
      Version 7.21. Tagged as 'BuildSys-7_21'
  5. 29 May, 2016 1 commit
    • Robert Sprowson's avatar
      Use the same optional resources syntax for AAsmModule as for CModule · 6d8a8a45
      Robert Sprowson authored
      Copy over the rules that use platform agnostic InstRes to copy their extra resources (for those modules wanting more than just the default Messages+CmdHelp).
      Copy over the logic that allows INSERTVERSION to be run on Messages files (from CApp shared makefile) so modules which have a front end can get their dates from Messages.
      Add INSERTVERSION facility to CModule too.
      Version 6.91. Tagged as 'BuildSys-6_91'
  6. 01 Oct, 2014 1 commit
    • Jeffrey Lee's avatar
      Fix some Disc build errors · 99d15696
      Jeffrey Lee authored
        Makefiles/AAsmModule - Reintroduce IfThere check of LocalRes:Messages, so that components which don't have any messages file will build correctly once again
        Makefiles/CApp - Ensure ${INSERTVERSION}'d files are writable; fixes errors when performing repeated Disc builds of components which mark their install directory tree as readonly.
        Fixes issue reported on forums with DDEUtils not being present in recent disc images:
      Version 6.51. Tagged as 'BuildSys-6_51'
  7. 27 Sep, 2014 1 commit
    • Robert Sprowson's avatar
      Change less useful resources_messages for resources_sprites · cb1c7449
      Robert Sprowson authored
       Swap round ${RESOURCEEXTRA} to come later, since otherwise the ${RESDIR} hasn't been created
      AAsmModule & CModule:
       Recemtly added resources_messages was a bit pointless as resources_common did the same thing, instead add resources_sprites.
       Debug library for internal Toolbox objects added.
      Retagged as BuildSys-6_50.
  8. 24 Sep, 2014 2 commits
    • Robert Sprowson's avatar
      Make debug builds a bit simpler · a4135210
      Robert Sprowson authored
       Remove SA_DEBUG override, instead use ASDFLAGS like CModule does.
       If the target is 'debug' allow CMHGDFLAGS to pass extra defines into CMHG, this avoids the common problem of having to have 2 CMHG files and select between them.
      Other - sync the messages token check/copying, use ${NOP} and ${FAPPEND} and ${DO}, and od.${RES_OBJ} isn't dependent on ${DIRS} since it already has that when creating o.${RES_OBJ}.
      Version 6.50. Tagged as 'BuildSys-6_50'
    • Ben Avison's avatar
      Improvements to AAsmModule shared makefile · 71f9f9e9
      Ben Avison authored
        * Corrected and added documentation at head of file
        * Now defines an "all" target
        * DIRS now has a default value (i.e. behaviour now matches the other shared
          makefiles) freeing the master makefile from needing to specify platform-
          specific paths
        * Added cross-compilation version
        Tested by cross-compiling the BASIC module
      Version 6.49. Tagged as 'BuildSys-6_49'
  9. 18 Sep, 2014 1 commit
    • Robert Sprowson's avatar
      Improvements to resources phase rules · cfc0ecf2
      Robert Sprowson authored
      The preferred override is now 'CUSTOMRES' to match CModule, though the former 'RESOURCES' is still accepted as a transitional step.
      The internal phoney targets (like resources-None) can no longer be augmented with :: since that doesn't make sense.
      Copied some block comments from CModule so they're easier to compare.
      Fixed the resourcesno/resourcesNo never appearing, this is because when CUSTOMRES=no you end up with two rules called resourcesno and no rule called resources.
      Added resources_res and resources_messages and resources_templates as well as RESOURCEEXTRA support (from AAsmModule).
      Copied some block comments from AAsmModule so they're easier to compare.
      Tested in an IOMD ROM resources phase.
      Version 6.48. Tagged as 'BuildSys-6_48'
  10. 28 Jun, 2014 1 commit
    • Robert Sprowson's avatar
      Revise BBE target · 38ce575e
      Robert Sprowson authored
      BootCommands 1.39 and later allow 1k command lines with *DO so there's no need to override the definition of ${PERL} any more.
      Also, add comments to AAsmModule about the various CUSTOM overrides possible.
      Version 6.45. Tagged as 'BuildSys-6_45'
  11. 09 Nov, 2013 1 commit
  12. 15 Jul, 2013 1 commit
    • Robert Sprowson's avatar
      Shared makefile enhancements · 6b4a70b4
      Robert Sprowson authored
       Comments sync'd with implementation
       Add the RMVersion library
       Now APP_OBJS and APP_DBG_OBJS don't need the '.o' suffix in common with OBJS and DBG_OBJS
       Changed insertion of version numbers to be common for Messages/Obey/Desc files through new 'INSTAPP_VERSION' dummy rule
       INSTALLAPP_DEPEND renamed to INSTAPP_DEPENDS to match other INSTAPP_stuff
       Use addprefix'd APP_OBJS
       Default SQUISHFLAGS now set
      Version 6.20. Tagged as 'BuildSys-6_20'
  13. 01 Sep, 2012 1 commit
    • Jeffrey Lee's avatar
      Modify makefile fragments to generate GPA & symbol files when building ROM... · 278ac74a
      Jeffrey Lee authored
      Modify makefile fragments to generate GPA & symbol files when building ROM modules. Add HangWatch to ModuleDB.
        Makefiles/AAsmModule, Makefiles/CModule - Modified to generate GPA (for assembler) and symbols (for C) files when building ROM modules. These files are copied into the install folder, allowing them to easily be picked up by debugging tools.
        ModuleDB - Added entry for HangWatch module
        Makefile changes tested with BCM2835, OMAP3, and Disc builds
      Version 5.87. Tagged as 'BuildSys-5_87'
  14. 11 Aug, 2012 1 commit
  15. 05 Feb, 2012 1 commit
  16. 12 Jan, 2012 1 commit
    • Robert Sprowson's avatar
      Various changes · 3728b452
      Robert Sprowson authored
      * Added components file to generate a !System
      * Binaries/Browse/BuildEnv/Disc/IOMD32/OMAP4/Printers/Tungsten add heading blocks and line stuff up
      * OMAP3 remove unused switch from FPEmulator
      * SysMap add mapping from Sovereign to 'V'
      * CTools extra qualifiers on some modules to get help right for modules in the 310 directory
      * AAsmModule when CMDHELP=None is in force you can infer that no international help is desired, therefore pass this as a switch to the module to allow it to remove the tokens from its help table (based on how the 'standalone' switch is done)
      Version 5.35. Tagged as 'BuildSys-5_35'
  17. 19 Dec, 2011 1 commit
    • Jeffrey Lee's avatar
      Add CLEAN_DEPEND support to AAsmModule makefile fragment. Disable VFP/NEON... · 480298f2
      Jeffrey Lee authored
      Add CLEAN_DEPEND support to AAsmModule makefile fragment. Disable VFP/NEON assembler for Tungsten ROM versions of BASIC.
        Makefiles/AAsmModule - Added ${CLEAN_DEPEND} as a dependency to the 'clean' rule, to allow components to extend the default rule. This is the same functionality that the CApp fragment offers.
        Components/ROOL/Tungsten - Disable VFP/NEON support in the BASIC assembler, due to lack of ROM space.
        Required changes for BASIC 1.49
      Version 5.33. Tagged as 'BuildSys-5_33'
  18. 31 Mar, 2011 1 commit
    • Ben Avison's avatar
      Improvements to shared makefiles · 684d01e3
      Ben Avison authored
        * 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
        Tested in a ROM build
      Version 5.12. Tagged as 'BuildSys-5_12'
  19. 14 Oct, 2008 1 commit