- 15 May, 2021 1 commit
-
-
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.
-
- 27 Sep, 2017 1 commit
-
-
Robert Sprowson authored
Add Access+ as a utility, called out by the "Local networks" chapter of the User Guide, and missing since RISC OS 3.70 days (despite ShareFS having the functionality). Add an install target to the CLibrary makefile, this allows the library to be installed somewhere other than the exports directory which is useful for the CTools component for example. Version 7.15. Tagged as 'BuildSys-7_15'
-
- 10 Jan, 2015 1 commit
-
-
Robert Sprowson authored
New capability for the CLibrary shared makefile to specify arbitrary dependencies (via ${LIBDEPENDS}) required before the main event, this might be used to, for example, run a perl script or something to generate some code or headers. Add PDEBUGLIB PRISMLIB REMOTEDBLIB TRACELIB and UNICODELIB to the AppLibs and ModuleLibs. Repoint DDTLIB WILDLIB TRACELIB. For the PlingSystem build, put TextGadgets in the 350 directory since it currently only supports text areas in dynamic areas. Version 6.63. Tagged as 'BuildSys-6_63'
-
- 24 Oct, 2014 1 commit
-
-
Robert Sprowson authored
During the rom phase, ROM C modules would be linked against ${ROMCSTUBS}, ie. clib. During the rom_link phase, they'd be linked against ${ABSSYM}, ie. clib and rlib. As RISC_OSLib contains various wimp_ symbol names which clash with ${WIMPLIB} from the Toolbox, so you can't write a ROMmable C module which links against the Toolbox and uses the shared makefiles. We define a new variable ROM_SYMS which is initialised to ${C_ABSSYM}, ie. just the clib to match the stubs used during the rom phase, and the ${ROMCSTUBS} is now appended to ${ROM_LIBS} so it can be overridden rather than being hardwired into the rule. For completeness SA_LIBS can now also be overridden to remove ${CLIB} if desired. CApp/CLibrary now use ${NOP} silently. Version 6.60. Tagged as 'BuildSys-6_60'
-
- 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'
-
- 05 Feb, 2012 1 commit
-
-
Robert Sprowson authored
The CLEAN_DEPEND intermediate was added because GNU make didn't support '::' notation, but GNU nake 3.81 (possibly earlier) does as described at http://www.gnu.org/software/make/manual/make.html#Double_002dColon verified with two test makefiles # This is 'makefile' include ./other.mk clean:: @echo 1 @echo 2 # This is 'other.mk' CLEANALIAS = clean ${CLEANALIAS}:: @echo 3 @echo 4 which did what was required. Version 5.42. Tagged as 'BuildSys-5_42'
-
- 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 c...
-
- 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'
-
- 16 Oct, 2008 1 commit
-
-
Ben Avison authored
Version 4.63. Tagged as 'BuildSys-4_63'
-
- 14 Oct, 2008 1 commit
-
-
Ben Avison authored
This represents the version released in the Batch 4 "bbe" tarfiles. Tagged as 'Batch4'
-