Commits (32)
-
ROOL authored
Version 7.55. Tagged as 'BuildSys-7_55'
3e171ac8 -
ROOL authored90773bd4
-
ROOL authored
Version 7.56. Tagged as 'BuildSys-7_56'
c7073111 -
ROOL authoredeff85f21
-
Robert Sprowson authored
Requires Env-1_46
7d7aeb7d -
ROOL authorede123d608
-
ROOL authored4d3a6a33
-
ROOL authored
For iMx6, remove DDEUtils to match the other ROMs (it's in the HardDisc4 image). Version 7.57. Tagged as 'BuildSys-7_57'
401f1bed -
Ben Avison authoredc082c868
-
Ben Avison authored
This de-duplicates some of the information from AppLibs and ModuleLibs, which now include the new Makefile fragment in order to ensure compatibility. It also means that the definitions can be used for building other library components, which by definition do not perform a link step, without having to choose either AppLibs or ModuleLibs when most of either one is unused for a library build.
bc6cf22d -
Ben Avison authored
Occasionally, a library needs to export additional files that don't live in either an h or hdr directory and (when cross compiling) shouldn't have a .h suffix added to their exported version. A typical example would be where the licence conditions of the library require a licence header to be attached to all copies. To achieve this, CLibrary now uses EXPORTS in a similar manner to how AAsmModule does, simply as a dependency of export_hdrs, which can expand to any additional targets you need to define. By default, it overrides the internal targets EXPORTING_HDRS and EXPORTING_ASMHDRS (derived from HDRS and ASMHDRS supplied by the master makefile), but you can always include them in your definition of EXPORTS if desired.
51f761a1 -
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.
a7947759 -
Ben Avison authored
Use `${TCPIPINC}` instead. Although there is only a single directory on TCPIPLibs$Path, all ported BSD sockets code assumes their headers are already directly on the include path.
def85aec -
Ben Avison authored
Use `${TBOXINC}` instead.
1e58a98d -
Ben Avison authored60c80e57
-
Ben Avison authored42cff4d4
-
Ben Avison authored614326fc
-
Ben Avison authored
There are at least 19 components that use this tool to autogenerate a source file. Needs initial capitalisation on case-sensitive filesystems.
3e39f8da -
Ben Avison authored
This brings it into line with AAsmModule and CModule shared makefiles
6ffb78b8 -
Ben Avison authored
This allows Perl files with filetype 102 to be referenced identically whether native or cross-compiling (it expands to an empty string when used natively).
bf28bf7a -
Ben Avison authoredba7efe4d
-
Ben Avison authored
`TOKHELPSRC`, `HELPSRC` and `TOKENS` have the same meaning as in `AAsmModule`. Because `CModule`, unlike `AAsmModule`, can build a binary from multiple linked object files, it is also necessary to specify which object file(s) depend on the autogenerated source file. This is achieved with the new input variable `TOKHELPDEPENDS`. This defaults to `OBJS` which in turn defaults to `TARGET`, which should mean that any components converted from `AAsmModule` will not require any such line to be specified in their master makefile. Requires RiscOS/Sources/Programmer/Debugger!4
ee10b29f -
Timothy E Baldwin authored
This allows makefiles to refer to the parent directory in an OS-neutral way.
4f35a3e7 -
Ben Avison authored
Earlier versions couldn't cope with RES_OBJ being set to an empty string.
b0848633 -
Ben Avison authored
When executing the makefile from within the `objs` directory, this now includes an implicit `-C..` option. This makes it simpler to write agnostic makefiles. For example, ${MAKE} -f other${EXT}mk other_target rather than ifeq (,${MAKE_VERSION}) ${MAKE} -f other/mk other_target else ${MAKE} -f ../other.mk other_target endif
64010501 -
Ben Avison authored5ca43ab2
-
Ben Avison authored7733fdc5
-
Ben Avison authored
Occasionally, it is useful to be able to set C++FLAGS from the calling environment, for example when building a 32-bit x86 target from a 64-bit x86-64 host. This works fine for CFLAGS and LDFLAGS, but C++FLAGS is not a valid Posix environment variable name. Import setting from CXXFLAGS instead when cross-compiling.
b2eb8ff6 -
Ben Avison authored
This tells it to use gcc for preprocessing the CMHG file (if enabled) and asasm for the backend (which means the object file is an ELF file, required in order to link with GCC objects).
f3add28d -
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.
b1e26d51 -
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.
7118b699 -
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'
9b0aed8c
Showing
GNUmakefiles/LibIncludes
0 → 100644