- 15 May, 2021 2 commits
-
-
Timothy E Baldwin authored
This allows makefiles to refer to the parent directory in an OS-neutral way.
-
Ben Avison authored
Typically useful for libraries where you have both types of target, and you want the application build to contain function names (for meaningful backtraces) but the module build not to (to save ROM space). This is achieved as follows: * CAPPFLAGS and CMODFLAGS contain additional flags to be passed to application and module builds, respectively * C_FNAMES is initialised to a compiler-agnostic build switch to enable function names in the binary Therefore a master makefile will often use the line CAPPFLAGS = ${C_FNAMES} although CAPPFLAGS and CMODFLAGS are not limited to this usage.
-
- 10 Sep, 2020 1 commit
-
-
Ben Avison authored
C_NOWARN_ASSIGNMENT_AS_CONDITION to suppress warnings about assignments within condition tests in `if` statements C_NOWARN_NON_ANSI_INCLUDES to suppress warnings about use of angle brackets for #include headers not defined by ISO/ANSI Version 7.50. Tagged as 'BuildSys-7_50'
-
- 27 Jun, 2020 1 commit
-
-
Ben Avison authored
StdTools: new symbol SUFFIX_HEADER: '.h' for GNU make, undefined for amu; useful for generating filenames of generated headers StdTools: new symbol EXT: filename extension separator character CModule: ROM_SYMS: now defined conditionally, permitting it to be overridden higher up the master makefile, to match SA_LIBS and ROM_LIBS Version 7.47. Not tagged
-
- 24 May, 2019 1 commit
-
-
Robert Sprowson authored
Don't try and be clever using Build$Path, just refer to touch directly (since uses of it elsewhere don't have *Run). Version 7.39. Tagged as 'BuildSys-7_39'
-
- 20 May, 2019 1 commit
-
-
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.
-
- 11 Apr, 2018 1 commit
-
-
Ben Avison authored
Detail: ModuleDB: * Correct capitalisation of resgen's TARGET to match its main source file GNUmakefiles/AAsmModule: * 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 limits * Fix C-from-assembler exports to have .h suffix GNUmakefiles/AppLibs: * Define INCLUDE_OSLIB to permit OSLib header search paths to be specified in an OS-agnostic way GNUmakefiles/CApp: * 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 GNUmakefiles/CLibrary: * 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 rules * Don't use .hdr suffix on exported assembler header files * Correct order of dependencies for export_libs phony target GNUmakefiles/StdTools: * 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 function) * 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. Makefiles/AAsmModule: * Support up to 16 assembler and 8 C-from-assembler headers Makefiles/AppLibs, ModuleLibs: * Define INCLUDE_OSLIB Makefiles/StdTools: * Add LDBIN tool Version 7.24. Tagged as 'BuildSys-7_24'
-
- 02 Aug, 2015 1 commit
-
-
Robert Sprowson authored
Tagged as BuildSys-6_70.
-
- 12 Oct, 2014 1 commit
-
-
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'
-
- 24 Sep, 2014 1 commit
-
-
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'
-
- 19 Jul, 2014 1 commit
-
-
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'
-
- 29 Jun, 2014 1 commit
-
-
Robert Sprowson authored
-
- 11 Nov, 2013 1 commit
-
-
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'
-
- 15 Jul, 2013 1 commit
-
-
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'
-
- 27 May, 2013 1 commit
-
-
Robert Sprowson authored
Not tagged.
-
- 27 Nov, 2012 1 commit
-
-
Steve Revill authored
I'm hoping to get to the bottom of the (very tricky to reproduce in a sensible amount of time) crashes during Disc and DiscDev builds. Version 6.04. Not tagged
-
- 26 Oct, 2012 1 commit
-
-
Robert Sprowson authored
Version 6.03. Tagged as 'BuildSys-6_03'
-
- 16 Jan, 2012 1 commit
-
-
Steve Revill authored
WIPE is now the same as XWIPE, rather than the annoying "-wipe". Version 5.36. Tagged as 'BuildSys-5_36'
-
- 31 Mar, 2011 1 commit
-
-
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'
-
- 19 May, 2010 1 commit
-
-
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'
-
- 19 Jul, 2009 1 commit
-
-
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'
-
- 07 Jun, 2009 1 commit
-
-
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'
-
- 14 Oct, 2008 1 commit
-
-
Ben Avison authored
This represents the version released in the Batch 4 "bbe" tarfiles. Tagged as 'Batch4'
-