- 21 Dec, 2022 2 commits
-
-
Cameron Cawley authored
Version 7.79. Tagged as 'BuildSys-7_79'
-
Robert Sprowson authored
Don't use TARGET= for getting the theme sprites, to avoid 2 things overriding it. Don't append !Paint or !Draw for the install path, the shared makefiles does this. Version 7.78. Not tagged
-
- 03 Dec, 2022 1 commit
-
-
ROOL authored
Detail: Also build it for those components which depend on InetRes Admin: Required by InetRes-5_97 and later. Version 7.78. Tagged as 'BuildSys-7_78'
-
- 29 Oct, 2022 3 commits
- 22 Oct, 2022 3 commits
-
-
Timothy E Baldwin authored
Without this ImageLib fails the export libs phase with an error, ideally ImageLib needs fixing so it isn't split in this fashion. No change to build output (the contents of HardDisc4). Version 7.76. Tagged as 'BuildSys-7_76'
-
ROOL authored
Detail: Remove NVRAM/PortManager from builds where unused. Remove MakePSFont/PDumperDM/DDT from ROM builds. For ROMs where some install a component and others only export it, settle on a common place to put the component in the list from a majority vote. Admin: Based on a submission from Timothy E Baldwin BCM2835/BonusBin/BuildEnv/Disc/IOMD32/OMAP3/4/5/PineA64/PlingSystem/Titanium Tungten/iMx6 builds checked. Unmaintained S3C2440/6410/BCM2835Pico not checked.
-
ROOL authored
Detail: Move Portable export up in IOMD32 to match Tungsten/S3C2440/S3C6410. Move SCSIFS/PCI to equivalent place in the exports at the top of file. Remove some extra # in separator blocks for Titanium. Admin: Based on a submission from Timothy E Baldwin
-
- 19 Oct, 2022 4 commits
-
-
Jeffrey Lee authored
There are a number of different defines/variables which the makefile fragments pass into the compiler/assembler when building code. Add a new document (Makefile.Docs.Defines) which attempts to document them and their intended use. Version 7.75. Tagged as 'BuildSys-7_75'
-
Jeffrey Lee authored
These go hand-in-hand with the RISCOS_HAL and RISCOS_KERNEL defines, to allow code to identify when it's being built for inclusion in a module.
-
Jeffrey Lee authored
This is intended to act as a replacement for the zM variable, which is hard to search for. zM will be removed in 2024.
-
Jeffrey Lee authored
Extend the CLibrary shared makefile to add support for building HAL and kernel versions of libraries, with 'h' and 'k' suffixes respectively. These are built with stack limit checking & frame pointers disabled, and with RISCOS_HAL and RISCOS_KERNEL defines enabled as appropriate. Note that currently there's nothing done to protect the SB register in HAL builds of libraries, or to deal with references to data sections.
-
- 10 Oct, 2022 2 commits
-
-
Cameron Cawley authored
Version 7.74. Tagged as 'BuildSys-7_74'
-
Timothy E Baldwin authored
-
- 21 May, 2022 2 commits
-
-
Ben Avison authored
This is required to resolve softload builds of any component that uses a VFP SWI, for example as part of a CI job. Version 7.73. Tagged as 'BuildSys-7_73'
-
ROOL authored
Version 7.72. Tagged as 'BuildSys-7_72'
-
- 14 Feb, 2022 2 commits
-
-
John Ballance authored
Version 7.71. Tagged as 'BuildSys-7_71'
-
John Ballance authored
-
- 05 Feb, 2022 1 commit
-
-
Ben Avison authored
This facilitates softloadable modules that interface to the SD subsystem (such as pretty much every Linux-derived WiFi driver module since they can't be linked into a ROM) and also permits GitLab CI to build soft-loadable versions of ROM WiFi drivers or SDFS. Version 7.70. Tagged as 'BuildSys-7_70'
-
- 31 Jan, 2022 1 commit
-
-
Ben Avison authored
This de-duplicates a lot of HAL makefiles, and also allows us to introduce a cross-compilation variant for them all at once. APCS specifiers are deliberately omitted; this is in order to facilitate some HALs linking with libraries compiled to the usual APCS variant without resulting in link-time warnings. Version 7.69. Tagged as 'BuildSys-7_69'
-
- 29 Jan, 2022 1 commit
-
-
Ben Avison authored
Added to Components files for all ROM builds that could, in theory, have WiFi drivers, and to Disc so that softloadable builds are possible. Version 7.68. Tagged as 'BuildSys-7_68'
-
- 28 Jan, 2022 1 commit
-
-
Ben Avison authored
Version 7.67. Tagged as 'BuildSys-7_67'
-
- 05 Jan, 2022 1 commit
-
-
ROOL authored
Version 7.66. Tagged as 'BuildSys-7_66'
-
- 15 Dec, 2021 1 commit
-
-
Cameron Cawley authored
Version 7.65. Tagged as 'BuildSys-7_65'
-
- 09 Oct, 2021 3 commits
-
-
Robert Sprowson authored
The CEXPDIR and EXPDIR names are the wild so hang around as aliases until those components are visited. Purely for symmetry add the same to AAsmModule. Version 7.64. Tagged as 'BuildSys-7_64'
-
Robert Sprowson authored
-
Robert Sprowson authored
AppLibs/ModuleLibs: DebugLib requires remotedb to link, and both are present, but remotedb requires InetLib and SockLib. Currently client makefiles must specify this, but can't do via DBG_LIBS because of the ordering, so end up having to mess around with LIBS in a conditional. Simplify this by providing the libraries in DEBUGLIBS. CModule: Add a new SA_TARGET_RULE variable so that when CUSTOMSA is in use it is still possible to invoke the standalone build without needing to know about the differences between GNU and native makefiles (one uses 'MyModule,ffa' the other 'rm.MyModule'). This will allow the 5 uses of CModule to be simplified in future, the 5 uses of AAsmModule for CUSTOMSA are just to stop a module being output.
-
- 18 Sep, 2021 1 commit
-
-
Robert Sprowson authored
The comment in LibIncludes mentions libraries that depend on other libraries may find those path variables useful, but since CLibrary doesn't itself include ModuleLibs or AppLibs, they expand as empty. Add LibIncludes. Version 7.63. Tagged as 'BuildSys-7_63'
-
- 04 Sep, 2021 1 commit
-
-
ROOL authored
Version 7.62. Tagged as 'BuildSys-7_62'
-
- 26 Jun, 2021 1 commit
-
-
Ben Avison authored
These make it possible to build softload versions of several extra modules. Requires Products/Disc!8 Version 7.61. Tagged as 'BuildSys-7_61'
-
- 23 Jun, 2021 1 commit
-
-
Ben Avison authored
This macro is used to define the root directory for exported C header files. Previously, when native-compiling, the default setting, if not otherwise overridden by the master makefile, was `<cexport$dir>.Interface.h`. This is at odds with the cross-compiling case, which defaults to the equivalent string, but without the `h` subdirectory, for obvious reasons. Only one component, DHCP, currently overrides `C_EXP_HDR`, although more will be joining it in the near future. The macro is used internally within rules defined by `CModule`, but a few components also use it within rules in their master makefiles. We hereby change the default value to omit the `h` subdirectory, and permit master makefiles to specify an override value which also omits it (in future it wil be deprecated to include it, and its use will be phased out). There are two reasons for this: 1) It assists with cross-compilation, since the override can then be expressed identically for both native and cross builds. 2) It permits the `.exphdr.h` suffix rule to be re-used when one or more headers need to be exported to a subdirectory of `C_EXP_HDR`, so long as the headers are present at an equivalent subdirectory in the component source tree, and that subdirectory is on `VPATH`. This is because `$<` is set up to include the element of `VPATH` that matched the rule - but this needs to go before the `.h`, not after it. To prepare for this MR, the following must all be merged: * RiscOS/Sources/FileSys/ADFS/ADFS4!2 * RiscOS/Sources/HWSupport/ATA/SATADriver!2 * RiscOS/Sources/HWSupport/SD/SDIODriver!5 * RiscOS/Sources/HWSupport/SPIDriver!1 * RiscOS/Sources/HWSupport/USB/USBDriver!9 Version 7.60. Tagged as 'BuildSys-7_60'
-
- 12 Jun, 2021 5 commits
-
-
Ben Avison authored
The `BasicApp` fragment is analogous to the `CApp` fragment in that it supports both single-file executables and application directories. Rules are included for building any such application directories into ROMs, with files destined for `Resources:$.Resources` being exported to the Messages module during the `resources` phase, and those destinated for `Resources:$.Apps` being built into a position-independent module, so that when the module is killed or unplugged, those files disappear from ResourceFS. Because the module is position-independent, the makefile fragment implements the `install_rom` rule rather than the `rom_link` rule used by `CApp`. This is consistent with how `srcbuild` already installs ROM components listed in the ModuleDB as being of type `BAS`. The other main difference from `CApp` is that there is no compilation or linking step. Tokenisation, crunching and squishing of the (untokenised) source files are roughly analogous to the compilation steps, except that multiple source files are concatenated (if applicable) as the first step. There is also no debug build variant, and so no `debug` rule. Crunching is performed (on native builds) using the `BasCrunch` tool, so if you are converting an existing component which includes its own Command script to perform tokenisation and crunching, this will no longer be needed. Cross-"compilation" is fully suported. This uses the new `toffb` tool for tokenisation (apologies for the wheel-reinvention, but this was developed in ignorance about Steve Fryatt's `Tokenize` tool; `toffb` also does do a more faithful job of replicating BASIC's `CRUNCH` options, so is more useful for ensuring cross-compilation builds remain identical to the native builds). It also uses Matrix Brandy (V1.22.9 or later) to execute Squish (at least RiscOS/Tools/Sources/Squish!1). We pass the new `-nosavepath` option to Squish to ensure that the results are identical for cross-compile builds compared to native ones. However, Squish ignores unrecognised command-line options, so this does not introduce a dependency on a newer Squish tool for native builds. One subtle enhancement over previous makefiles is that we create dynamic dependencies between the crunched-and-squished program and its untokenised source files. Version 7.59. Tagged as 'BuildSys-7_59'
-
Ben Avison authored
-
Ben Avison authored
Missing `$` character before `{LOCALE}` would have caused UK resources to be selected instead of non-UK ones, if anyone were to be doing an internationalised cross-compiled build.
-
Ben Avison authored
This allows RISC OS abstract data files with filetype ffd to be referenced identically whether native or cross-compiling (it expands to an empty string when used natively).
-
Ben Avison authored
-
- 15 May, 2021 3 commits
-
-
Ben Avison authored
This only applies to cross-compilation builds. The `make links` rules don't know a pre-determined list of subdirectories that need to be converted into filename extensions. Instead, files that should have no filename extension are usually simply identified by the absence of a `/` in their specification in `SOURCES_TO_SYMLINK`. However, this is insufficient to handle some rarer cases, such as a `Makefile` within a `Test` subdirectory. To handle this, we introduce explicit support for specifying such files in `SOURCES_TO_SYMLINK`, using a double slash where there would otherwise be a filetype subdirectory name, such as `Test//Makefile`. (Conveniently, this is also valid Posix filename syntax anyway.) The way this is achieved is to tweak the regular expressions to require the directory and leafnames between slashes to be at least one character long. Version 7.58. Tagged as 'BuildSys-7_58'
-
Ben Avison authored
With GNU `make` unlike with `amu`, it is considered an error to make a target for which no rule is defined. Therefore we need an explicit no-op `export` rule in the cross-compiling `CApp` makefile.
-
Ben Avison authored
`AAsmModule`, `CApp`, `CLibrary` and `CModule` implicitly include various other shared makefile fragments to permit simpler master makefiles. However, when cross-compiling, they were only included when invoked from within the `objs` subdirectory, which in particular meant you couldn't rely on any of the definitions from `StdTools` when extending the `clean` rule unless you explicitly included it from the master makefile, thereby defeating the purpose of the implicit inclusion. Change them so that `StdTools` is included for all rules.
-