1. 12 Oct, 2014 1 commit
    • Steve Revill's avatar
      Various updates generally associated with CTools builds. · 5ef9ae4d
      Steve Revill authored
      Components (ROOL CTools):
        * Added new components (ITable, BlendTable, RTC) for exports
        * Switch to using Install: rather than <Install$Dir> to help CLX
        * Replace CToolsCD component with DDE component
      ModuleDB tweaks:
        * Added the (closed source) DDE resources component
        * Added a component for BuildSys itself (so DDE can get the Makefiles)
      Shared makefile tweadded ERASECVS to the standard tools
        * Added a verbose copy flags CPVFLAGS for big copy operations
        * Added "install" rule for debug app builds (amu install INSTTYPE=debug)
      
      Version 6.53. Tagged as 'BuildSys-6_53'
      5ef9ae4d
  2. 01 Oct, 2014 1 commit
    • Jeffrey Lee's avatar
      Fix some Disc build errors · 99d15696
      Jeffrey Lee authored
      Detail:
        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.
      Admin:
        Fixes issue reported on forums with DDEUtils not being present in recent disc images:
        https://www.riscosopen.org/forum/forums/11/topics/2848
      
      
      Version 6.51. Tagged as 'BuildSys-6_51'
      99d15696
  3. 27 Sep, 2014 1 commit
    • Robert Sprowson's avatar
      Change less useful resources_messages for resources_sprites · cb1c7449
      Robert Sprowson authored
      GNU/AAsmModule:
       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.
      ModuleLibs:
       Debug library for internal Toolbox objects added.
      Retagged as BuildSys-6_50.
      cb1c7449
  4. 24 Sep, 2014 2 commits
    • Robert Sprowson's avatar
      Make debug builds a bit simpler · a4135210
      Robert Sprowson authored
      AAsmModule:
       Remove SA_DEBUG override, instead use ASDFLAGS like CModule does.
      CModule:
       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'
      a4135210
    • Ben Avison's avatar
      Improvements to AAsmModule shared makefile · 71f9f9e9
      Ben Avison authored
      Detail:
        * 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
      Admin:
        Tested by cross-compiling the BASIC module
      
      
      Version 6.49. Tagged as 'BuildSys-6_49'
      71f9f9e9
  5. 18 Sep, 2014 1 commit
    • Robert Sprowson's avatar
      Improvements to resources phase rules · cfc0ecf2
      Robert Sprowson authored
      AAsmModule:
      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.
      CModule:
      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'
      cfc0ecf2
  6. 19 Jul, 2014 1 commit
    • Robert Sprowson's avatar
      Drop 2 tools tlink - a long since abandoned special tool used to link the... · 172657f9
      Robert Sprowson authored
      Drop 2 tools tlink - a long since abandoned special tool used to link the toolbox modules against TinyStubs around RISC OS 3.50 era, no 32 bit version has ever been made, so by implication it's not being used aasm - the sources were lost some time in the 1990's, and hasn't been supplied as part of the DDE for over a decade
      
      Documentation updated to reflect current tools.
      
      Version 6.46. Tagged as 'BuildSys-6_46'
      172657f9
  7. 29 Jun, 2014 1 commit
  8. 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'
      38ce575e
  9. 11 Nov, 2013 1 commit
    • Ben Avison's avatar
      Changes to keep GNUmakefiles and Makefiles compatible · 3542e171
      Ben Avison authored
      Detail:
        Makefiles/CApp:
        * Naming of object file variables rationalised in line with CModule
        * Noted that INSTAPP_VERSION files must also be present in INSTAPP_FILES for
          compatibility with GNUmakefiles - requires changes to individual top-level
          makefiles, but not BuildSys
        Makefiles/CLibrary:
        * Naming of object file variables rationalised in line with CModule
        Makefiles/CModule:
        * Removed unused variable OBJS_
        Makefiles/StdTools:
        * Retired TIDYDESC
        GNUmakefiles/AppLibs:
        * Add CONLIB, RMVSN, SYNCLIB
        GNUmakefiles/CApp:
        * Default definition of INSTAPP
        * Naming of object file variables rationalised in line with CModule
        * CLEAN_DEPEND removed, clean made a double-colon rule (it's worth noting
          that such additional clean rules are now only executed from the component's
          top-level directory: this was not true for the old extra_clean rules that
          this replaces, in the GNUmakefiles case)
        * Rename of INSTALLAPPFILES to INSTAPP_FILES
        * Rename of INSTALLAPP_DEPEND to INSTAPP_DEPENDS
        * Insertion of component version into Desc files now done using AwkVers
          script rather than the C preprocessor (note, will require editing of Desc
          files to comply). Also supports versions in Messages and !Run files,
          controlled by new variable INSTAPP_VERSION
        GNUmakefiles/CLibrary:
        * Naming of object file variables rationalised in line with CModule
        * clean rules now only executed from the component's top-level directory, as
          with CApp
        GNUmakefiles/StdTools:
        * Added INSERTVERSION (AwkVers), retired TIDYDESC
        * Perl scripts now explicitly passed to perl - no need to chmod +x the
          scripts in RiscOS/Library
        * asasm/objasm include paths and APCS/Machine/UserIF predefines set to match
          Makefiles
      Admin:
        Tested in a CTools build
      
      Version 6.32. Tagged as 'BuildSys-6_32'
      3542e171
  10. 09 Nov, 2013 1 commit
  11. 30 Jul, 2013 1 commit
    • Jeffrey Lee's avatar
      Update BuildHost for GCC 4 · 85317293
      Jeffrey Lee authored
      Detail:
        Makefiles/GCCRules - Makefile containing rules for building tools with GCC 4. These rules are intended to replace the rules in StdRules for when GCC is in use.
        ModuleDB - Added libgnu4
        Components/ROOL/BuildHost - Build libgnu4 instead of libgnu
      Admin:
        Building BuildHost now requires a GCC4-based setup (Env-1_25, Modules-0_26, Library-1_63, etc.)
      
      
      Version 6.23. Tagged as 'BuildSys-6_23'
      85317293
  12. 15 Jul, 2013 1 commit
    • Robert Sprowson's avatar
      Shared makefile enhancements · 6b4a70b4
      Robert Sprowson authored
      AAsmModule:
       Comments sync'd with implementation
      ModuleLibs/AppLibs:
       Add the RMVersion library
      CApp:
       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
      CUtil:
       Use addprefix'd APP_OBJS
      StdTools:
       Default SQUISHFLAGS now set
       Added INSERTVERSION
      
      
      Version 6.20. Tagged as 'BuildSys-6_20'
      6b4a70b4
  13. 27 May, 2013 1 commit
  14. 27 Nov, 2012 1 commit
  15. 26 Oct, 2012 1 commit
  16. 02 Sep, 2012 1 commit
  17. 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.
      
      Detail:
        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
      Admin:
        Makefile changes tested with BCM2835, OMAP3, and Disc builds
      
      
      Version 5.87. Tagged as 'BuildSys-5_87'
      278ac74a
  18. 19 Aug, 2012 1 commit
  19. 11 Aug, 2012 1 commit
  20. 07 Jun, 2012 1 commit
  21. 05 Feb, 2012 1 commit
  22. 04 Feb, 2012 2 commits
  23. 29 Jan, 2012 1 commit
  24. 16 Jan, 2012 1 commit
  25. 12 Jan, 2012 2 commits
    • 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'
      3728b452
    • Ben Avison's avatar
      Added the CUtil shared makefile - was accidentally omitted from an earlier commit · 1a10551d
      Ben Avison authored
      Version 5.34. Tagged as 'BuildSys-5_34'
      1a10551d
  26. 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.
      
      Detail:
        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.
      Admin:
        Required changes for BASIC 1.49
      
      
      Version 5.33. Tagged as 'BuildSys-5_33'
      480298f2
  27. 12 Sep, 2011 1 commit
    • Ben Avison's avatar
      Fixes to shared makefiles · 70323f40
      Ben Avison authored
      Detail:
        The change which permitted top-level makefiles to include only CApp,
        CModule etc accidentally broke makefiles which included HostTools (StdTools
        got included instead and overwrote the HostTools settings). Amazingly, we
        seem to have got away with this so far - but fixed now. Also, brought the
        GNUmakefiles versions in line with updates to the amu Makefiles in this
        and other respects.
      Admin:
        Tested in a RISC OS ROM build, and for building cross-compiling versions
        of the tools.
      
      Version 5.21. Tagged as 'BuildSys-5_21'
      70323f40
  28. 03 May, 2011 1 commit
    • Ben Avison's avatar
      Makefile bugfix · 503ab360
      Ben Avison authored
      Detail:
        ModuleLibs used the wrong (non-zM) version of RISC_OSLib. This meant that
        any module using the shared makefiles and RISC_OSLib ended up using the
        static initialisers instead of static data, meaning that it could not be
        reinitialised or multiply instantiated. This was rather critical for the
        FrontEnd module, which relies on being reinstantiated for each new tool.
      Admin:
        Fixes the reported bug in FrontEnd 1.31 - verified it now works with more
        than one tool loaded.
      
      Version 5.14. Tagged as 'BuildSys-5_14'
      503ab360
  29. 03 Apr, 2011 1 commit
    • Ben Avison's avatar
      Bugfix to CModule makefile from previous commit · aacc2b74
      Ben Avison authored
      Detail:
        A line in this makefile evaluates CFLAGS so that the default static data
        relocation and stack checking options can be inserted before any overrides
        from the top-level makefile. But this was being done before StdTools was
        included, so C_STKCHK had not yet been defined, so if the top-level makefile
        tried to use it, it had no effect.
      Admin:
        Tested using new FrontEnd makefile.
      
      Version 5.13. Tagged as 'BuildSys-5_13'
      aacc2b74
  30. 31 Mar, 2011 1 commit
    • 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
  31. 20 Oct, 2010 1 commit
    • Ben Avison's avatar
      Makefile bugfixes, and support for latest CTools build · e15324c6
      Ben Avison authored
      Detail:
        * Fixed dependencies for debug builds in GNUmakefiles/CApp
        * Added -f switch to rm in GNUmakefiles/StdTools to make it fail silently
          if the file doesn't exist, like the RISC OS version
        * Fix for amu complaining if INSTTYPE is undefined in Makefiles/CApp
        * Reflected makefile changes in resgen, squeeze and xpand in CTools
          component file
        * Added a8time to ModuleDB and CTools component file
      Admin:
        Tested in  a C Tools build
      
      Version 5.03. Tagged as 'BuildSys-5_03'
      e15324c6
  32. 19 May, 2010 1 commit
    • Ben Avison's avatar
      Changes to facilitate platform independence. · 4477e695
      Ben Avison authored
      Detail:
       CApp:
        * New variable CLEAN_DEPEND is now the preferred way to specify additional
          clean actions because GNU make doesn't have an equivalent to amu's :: rules
        * Can now indicate preference to use C++ linker options using LINK_TYPE
        * Gains install phase support:
          + INSTALLAPPFILES lists the files to be copied, effectively specified
            relative to LocalRes$Path
          + Adopted INSTTYPE concept from DDE makefiles for cases where executable
            and support files need to be installed to different locations
          + Unusual cases can override this implementation using CUSTOMINSTALLAPP
            and/or CUSTOMINSTALLTOOL
      
        CLibrary:
        * New variable CLEAN_DEPEND is now the preferred way to specify additional
          clean actions because GNU make doesn't have an equivalent to amu's :: rules
        * -o is no longer a mandatory argument to libfile - now in ARFLAGS rather
          than used explicitly
      
        DbgRules / StdRules:
        * Macroised some Norcroft-specific features
      
        HostTools:
        * Clean phase support was incomplete
      
        StdTools:
        * A few additional tool definitions
        * Added macro definitions for common C options
        * C's enable-warnings and suppress-function-name-embedding options now on by
          default because they're usually (maybe even universally?) used - it won't
          hurt if they're specified again by existing makefiles
        * C++ now has equivalent INCLUDES and DEFINES variables, and the standard C++
          headers are on the default include path
        * SEP is defined as the directory separator character and can be used from
          top-level makefiles in a platform-independent way
      
        Functionally equivalent versions of the following makefile fragments
        have been developed so far for executing on a Posix build host:
          AppLibs, CApp, CLibrary, DbgRules, HostTools, StdRules, StdTools
        These suport native compilers (when APCS=Host) and cross-compilers,
        and GCC (when TOOLCHAIN=GNU) and Norcroft toolchains - typically these
        environment variables would be selected by running an Env file.
      
      Admin:
        Tested by building as many as possible of the DDE components on RISC OS
        and on Linux, using native and cross compilers, and using Norcroft and
        GNU toolchains.
      
      Version 5.01. Tagged as 'BuildSys-5_01'
      4477e695
  33. 19 Jul, 2009 1 commit
    • ROOL's avatar
      Spotted ZIP is already in the shared makefiles. · f64cc7c5
      ROOL authored
      Fixed to point at the (new) location of the zip tool and added some useful
      parameters - this is safe because nothing in the build tree was using
      this definition of ZIP anyway.
      
      Version 4.81. Tagged as 'BuildSys-4_81'
      f64cc7c5
  34. 17 Jul, 2009 1 commit
    • Jeffrey Lee's avatar
      Update CModule makefile fragment to use a default RESFSDIR if required. Add... · b1ddd206
      Jeffrey Lee authored
      Update CModule makefile fragment to use a default RESFSDIR if required. Add IIC module to OMAP3 components file.
      
      Detail:
        Makefiles/CModule - makefile fragment now generates a default RESFSDIR value in an identical way to the AAsmModule fragment, easing migration of makefiles to the fragment system.
        Components/ROOL/OMAP3 - IIC module has been added to ROM image
      Admin:
        Tested on rev C2 beagleboard
      
      
      Version 4.80. Tagged as 'BuildSys-4_80'
      b1ddd206
  35. 26 Jun, 2009 1 commit
    • Ben Avison's avatar
      Added CTools disc build, and various supporting changes · 13d9ef8b
      Ben Avison authored
      Detail:
        * Updates to CModule makefile fragment to reduce the number of OS-specific
          rules in main Makefiles:
          + Added (RAM|ROM)(C|ASM)DEFINES variables. These allow the calling makefile
            to specify additional defines for RAM or ROM builds of C or assembler
            source files respectively. Traditionally this was done by having separate
            object files for RAM and ROM corresponding at least to whichever source
            file was responsible for interfacing with ResourceFS, but this requires
            messy additional rules. With this new approach, it is necessary to clean
            the component when switching between RAM and ROM builds, but I don't
            think this will affect many people's workflows.
          + Added CMHGDEPENDS. This should be used to specify which object files need
            a static dependency upon the h file autogenerated from the cmhg file.
            It should be specified in the usual form for object files passed to
            CModule - with neither an o. prefix nor a .o suffix.
        * Added TBOXINTLIB to ModuleLibs makefile fragment.
        * AsmUtils, HdrSrc, TCPIPheaders, ToolboxLib and UnicodeLib all upgraded in
          ModuleDB from EXP to ASM or C components, to permit them to be built in the
          install phase. As a result, those other Components files that didn't
          already do so now need to override this back to -type EXP.
        * BuildHost Components file edited to reflect the fact that binaof, binasm,
          modgen and ResGen now have separate install phases for executables and
          Docs files.
      Admin:
        The new Components file uses various components that are not publicly
        released, so it can only sensibly be used internally by ROOL. However, it's
        more convenient for us to keep it alongside the other Components files - and
        it also serves as an illustration of how to do a disc build.
      
      Version 4.77. Tagged as 'BuildSys-4_77'
      13d9ef8b
  36. 13 Jun, 2009 1 commit
    • Ben Avison's avatar
      Added a new Makefile fragment · 23e9df41
      Ben Avison authored
      Detail:
        This is useful for building tools during the course of a main build where
        the build host is of an incompatible architecture to the target - for example
        building an Iyonix ROM on a Risc PC or an architecture-tuned Beagleboard ROM
        on an Iyonix.  For now it relies on re-using the target architecture versions
        of CApp and other makefile fragments so it's not suitable for cross-
        compilation yet (in other words, the host system is still assumed to be a
        RISC OS machine).
      Admin:
        Tested by building an APCS-R target on an Iyonix (with a few tweaks - we
        can't link with the APCS-R stubs on an Iyonix, but the stubs should be
        architecture-invariant within the same calling standard so this isn't a
        real problem).
      
      Version 4.75. Tagged as 'BuildSys-4_75'
      23e9df41
  37. 07 Jun, 2009 1 commit
    • Ben Avison's avatar
      Build fix · ea25b6c8
      Ben Avison authored
      Detail:
        Some users reported problems building the sources if they had other
        installations of perl on their build machine. The build system was using a
        mixture of "perl" and "<Perl$Dir>.perl" to invoke the interpreter, and
        sometimes but not always using "do" to expand system variables on the
        command line. This has now been standardised to use "do <Perl$Dir>.perl in
        all cases, and where possible, to use the makefile macro ${PERL}.
      Admin:
        Checked that a Tungsten build still works on a build machine with no other
        perl installation. "perl" was aliased to an error to ensure it wasn't used.
      
      Version 4.73. Tagged as 'BuildSys-4_73'
      ea25b6c8