Commit 3542e171 authored by Ben Avison's avatar Ben Avison
Browse files

Changes to keep GNUmakefiles and Makefiles compatible

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'
parent 41c26b4a
......@@ -45,6 +45,7 @@ NET5LIBS = ${UNIXLIB} ${INETLIB} ${SOCK5LIB}
ABCLIB = ${LIBDIR}/ABCLib/ABCLib.a
CALLXLIB = ${LIBDIR}/callx/callx.a
CONLIB = ${LIBDIR}/ConfigLib/ConfigLib.a
DDTLIB = ${LIBDIR}/DDTLib/DDTLib.a
DESKLIB = ${LIBDIR}/Desk/Desk.a
FETCHLIB = ${LIBDIR}/Fetchers/FetchLibZM.a
......@@ -54,6 +55,8 @@ MODMALLOCLIB = ${LIBDIR}/ModMalloc/Lib.a
NCMALIB = ${LIBDIR}/NCMALib/NCMALib.a
NSPRLIB = ${LIBDIR}/NSPRLib/NSPRLib.a
OSLIB = ${LIBDIR}/OSLib/OSLib.a
RMVSN = ${LIBDIR}/RMVersion/RMVersion.a
SYNCLIB = ${LIBDIR}/SyncLib/SyncLib.a
TGRLIB = ${LIBDIR}/TGRLib/tgrlib.a
WILDLIB = ${LIBDIR}/Wild/Wild.a
......
......@@ -11,24 +11,23 @@ INCLUDED_CAPP = YES
# This fragment uses the following macros set by the master makefile.
#
#
# COMPONENT (the name of the component)
# TARGET (opt) (the leafname of the application - otherwise ${COMPONENT})
# DBG_TARGET (opt) (debug application leafname - otherwise ${TARGET}-D)
# INSTDIR (opt) (the target directory - otherwise ${INSTALLDIR}/${TARGET})
# DIRS (opt) (stamp object for directory creation - otherwise _dirs)
# OBJS (opt) (object files, no o. prefixes - otherwise ${TARGET})
# DBG_OBJS (opt) (debug build object files, no prefixes - otherwise ${OBJS})
# LIBS (opt) (extra libraries; CLib is always used)
# DBG_LIBS (opt) (extra debug libraries - otherwsie ${LIBS};
# CLib and DEBUGLIBS always used)
# APP_OBJS (opt) (object files for application version - otherwise derived
# from ${OBJS})
# APP_DBG_OBJS (opt) (object files for debug app version - otherwise derived
# from ${DBG_OBJS})
# LINK_TYPE (opt) (variant of linking command, eg C++ - defaults to C)
# INSTTYPE (opt) (use "tool" or "app" to install executable vs application - defaults to "tool")
# INSTALLAPPFILES (opt) (list of files to be installed in application directory - use InstRes specification rules)
# INSTALLAPP_DEPEND (opt) (list of dependencies to be satisfied before doing application install - ${TARGET} assumed if in INSTALLAPPFILES)
# COMPONENT (the name of the component)
# TARGET (opt) (the leafname of the application - otherwise ${COMPONENT})
# DBG_TARGET (opt) (debug application leafname - otherwise ${TARGET}-D)
# INSTAPP (opt) (the application target directory - otherwise ${INSTDIR}/!${COMPONENT})
# INSTDIR (opt) (the target directory - otherwise ${INSTALLDIR}/${TARGET})
# DIRS (opt) (stamp object for directory creation - otherwise _dirs)
# OBJS (opt) (object files, no o. prefixes - otherwise ${TARGET})
# APP_OBJS (opt) (release build object files, no prefixes - otherwise ${OBJS})
# DBG_OBJS (opt) (debug build object files, no prefixes - otherwise ${OBJS})
# LIBS (opt) (extra libraries; ${CLIB} is always used)
# APP_LIBS (opt) (extra release libraries - otherwise ${LIBS}; ${CLIB} is always used)
# DBG_LIBS (opt) (extra debug libraries - otherwise ${LIBS}; ${CLIB} and ${DEBUGLIBS} always used)
# LINK_TYPE (opt) (variant of linking command, eg C++ - defaults to C)
# INSTTYPE (opt) (use "tool" or "app" to install executable vs application - defaults to "tool")
# INSTAPP_FILES (opt) (list of files to be installed in application directory - use InstRes specification rules)
# INSTAPP_DEPENDS (opt) (list of dependencies to be satisfied before doing application install - ${TARGET} assumed if in INSTAPP_FILES)
# INSTAPP_VERSION (opt) (list of Messages/!Run/Desc files to insert app version from VersionNum - include in INSTAPP_FILES as well)
# CUSTOMLINK (opt) (set to "custom" to override the link rule)
# CUSTOMINSTALLAPP (opt) (set to "custom" to override the install rule for resource files)
# CUSTOMINSTALLTOOL (opt) (set to "custom" to override the install rule for target binary)
......@@ -48,6 +47,7 @@ INCLUDED_CAPP = YES
# MKDIR (cdir/mkdir -p)
# ECHO
# TOUCH (create/touch)
# INSERTVERSION (awk script to substitute from VersionNum)
#
#
# It relies on the following from the StdRules makefile
......@@ -67,8 +67,10 @@ INCLUDED_CAPP = YES
TARGET ?= ${COMPONENT}
DBG_TARGET ?= ${TARGET}-D
INSTDIR ?= ${INSTALLDIR}/${TARGET}
INSTAPP ?= ${INSTDIR}/!${COMPONENT}
DIRS ?= _dirs
OBJS ?= ${TARGET}
APP_OBJS ?= ${OBJS}
DBG_OBJS ?= ${OBJS}
APP_LIBS ?= ${LIBS}
DBG_LIBS ?= ${LIBS}
......@@ -79,8 +81,9 @@ DBG_LIBS += ${C++LIB}
endif
APP_LIBS += ${CLIB}
DBG_LIBS += ${CLIB}
APP_OBJS ?= $(addsuffix .o,${OBJS})
APP_DBG_OBJS ?= $(addsuffix .od,${DBG_OBJS})
APP_OBJS_ = $(addsuffix .o,${APP_OBJS})
DBG_OBJS_ = $(addsuffix .od,${DBG_OBJS})
SOURCES_TO_SYMLINK += $(wildcard c/*) $(wildcard c++/*) $(wildcard h/*) $(wildcard s/*) VersionNum VersionASM
......@@ -89,8 +92,21 @@ ifneq (objs,$(notdir ${CURDIR}))
# Makefile invoked from same directory
# Create link farm, then execute the makefile from within it
all install debug clean links: ${SYMLINK_DEPEND}
ifneq (clean,${MAKECMDGOALS})
ifeq (clean,${MAKECMDGOALS})
# With a double-colon rule which can have additional actions assigned from the
# master makefile, we'd normally need the master makefile to include the
# ${CURDIR} check to ensure that it's performed on the same invocation as us.
# However, there's no real benefit to performing clean from within the objs
# directory, and it adds an ordering problem between the different double-colon
# rules (the one that deletes the objs directory has to be last otherwise the
# cwd is invalid for the others) so to simplify things, we only ever do cleans
# from the same directory as the Makefile.
clean::
@echo Cleaning...
@rm -rf objs
@echo ${COMPONENT}: cleaned
else
all install debug links: ${SYMLINK_DEPEND}
$(foreach linksource,${SOURCES_TO_SYMLINK}, \
$(shell \
linkdest=`echo ${linksource} | sed -e 's,\([^/]*\)/\([^/]*\)$$,\2.\1,' -e 's,^,objs/,'`; \
......@@ -101,11 +117,11 @@ ifneq (clean,${MAKECMDGOALS})
) \
)
@[ -L objs/Resources ] || ln -s ../Resources objs/Resources
endif
@mkdir -p objs
ifneq (links,${MAKECMDGOALS})
@${MAKE} -C objs -f ../$(firstword ${MAKEFILE_LIST}) ${MAKECMDGOALS}
endif
endif
else
......@@ -130,27 +146,26 @@ endif
all: ${TARGET}${SUFFIX_ABSOLUTE}
@${ECHO} ${COMPONENT}: application built
${DIRS} ::
${DIRS}::
${TOUCH} $@
clean ::
@${ECHO} Cleaning...
@cd .. && ${WIPE} objs ${WFLAGS}
@${ECHO} ${COMPONENT}: cleaned
install: install_${INSTTYPE}
install_: install_tool
INSTALLAPP_DEPEND += $(addsuffix ${SUFFIX_ABSOLUTE},$(filter ${TARGET},${INSTALLAPPFILES}))
INSTAPP_DEPENDS += $(addsuffix ${SUFFIX_ABSOLUTE},$(filter ${TARGET},${INSTAPP_FILES}))
install_app${CUSTOMINSTALLAPP}: ${INSTALLAPP_DEPEND}
install_app${CUSTOMINSTALLAPP}: ${INSTAPP_DEPENDS}
${MKDIR} ${INSTAPP}
${INSTRES} -I Resources.${USERIF}.${LOCALE},Resources.${USERIF}.UK,Resources.${LOCALE},Resources.UK,Resources ${INSTAPP} ${INSTALLAPPFILES}
ifneq (,$(filter Desc,${INSTALLAPPFILES}))
${CPREPRO} -I. ${INSTAPP}/Desc > ${INSTAPP}/DescTmp
${TIDYDESC} ${INSTAPP}/Desc ${INSTAPP}/DescTmp
${RM} ${INSTAPP}/DescTmp
${INSTRES} -I Resources.${USERIF}.${LOCALE},Resources.${USERIF}.UK,Resources.${LOCALE},Resources.UK,Resources ${INSTAPP} ${INSTAPP_FILES}
ifneq (,$(filter Messages,${INSTAPP_VERSION}))
TMP=`mktemp`; ${INSERTVERSION} ${INSTAPP}/Messages > $$TMP; mv $$TMP ${INSTAPP}/Messages
endif
ifneq (,$(filter Desc,${INSTAPP_VERSION}))
TMP=`mktemp`; ${INSERTVERSION} descmode=1 ${INSTAPP}/Desc ${INSTAPP}/Desc > $$TMP; mv $$TMP ${INSTAPP}/Desc
endif
ifneq (,$(filter !Run,${INSTAPP_VERSION}))
TMP=`mktemp`; ${INSERTVERSION} obeymode=1 ${INSTAPP}/!Run${SUFFIX_OBEY} > $$TMP; mv $$TMP ${INSTAPP}/!Run${SUFFIX_OBEY}
endif
@${ECHO} ${COMPONENT}: application installation complete
......@@ -162,13 +177,13 @@ install_tool${CUSTOMINSTALLTOOL}: ${TARGET}${SUFFIX_ABSOLUTE}
debug: ${DBG_TARGET}${SUFFIX_DEBIMAGE}
@${ECHO} ${COMPONENT}: debug application built
${TARGET}${SUFFIX_ABSOLUTE}${CUSTOMLINK}: ${DIRS} ${APP_OBJS} ${APP_LIBS}
${LD} ${LDFLAGS} -o $@ ${APP_OBJS} ${APP_LIBS}
${TARGET}${SUFFIX_ABSOLUTE}${CUSTOMLINK}: ${DIRS} ${APP_OBJS_} ${APP_LIBS}
${LD} ${LDFLAGS} -o $@ ${APP_OBJS_} ${APP_LIBS}
${STRIP} $@
${SQZ} ${SQZFLAGS} $@
${DBG_TARGET}${SUFFIX_DEBIMAGE}${CUSTOMLINK}: ${DIRS} ${APP_DBG_OBJS} ${DBG_LIBS}
${LD} ${LDFLAGS} ${LDDFLAGS} -o $@ ${APP_DBG_OBJS} ${DBG_LIBS}
${DBG_TARGET}${SUFFIX_DEBIMAGE}${CUSTOMLINK}: ${DIRS} ${DBG_OBJS_} ${DBG_LIBS}
${LD} ${LDFLAGS} ${LDDFLAGS} -o $@ ${DBG_OBJS_} ${DBG_LIBS}
include $(wildcard *.d)
include $(wildcard *.dd)
......
......@@ -25,10 +25,10 @@ INCLUDED_CLIBRARY = YES
# ASMHDRS (opt) (assembly header files to export, no Hdr. prefix - otherwise none)
# OBJS (object files, no o. or oz. prefixes)
# DBG_OBJS (opt) (debug build object files, no o. or oz. prefixes - otherwise ${OBJS})
# APP_OBJS (opt) (object files for application version - otherwise derived from ${OBJS})
# APP_DBG_OBJS (opt) (object files for debug app version - otherwise derived from ${DBG_OBJS})
# MOD_OBJS (opt) (object files for module version - otherwise derived from ${OBJS})
# MOD_DBG_OBJS (opt) (object files for debug module version - otherwise derived from ${DBG_OBJS})
# APP_OBJS (opt) (release application object files, no o. or oz. prefixes - otherwise ${OBJS})
# APP_DBG_OBJS (opt) (debug application object files, no o. or oz. prefixes - otherwise ${DBG_OBJS})
# MOD_OBJS (opt) (release module object files, no o. or oz. prefixes - otherwise ${OBJS})
# MOD_DBG_OBJS (opt) (debug module object files, no o. or oz. prefixes - otherwise ${DBG_OBJS})
# CUSTOMLIB (opt) (set to "custom" to override the application library rule)
# CUSTOMLIBZM (opt) (set to "custom" to override the module library rule)
# CUSTOMLIBD (opt) (set to "custom" to override the debug application library rule)
......@@ -84,10 +84,14 @@ DIRS ?= _dirs
HDRS ?= ${TARGET}
ASMHDRS ?=
DBG_OBJS ?= ${OBJS}
APP_OBJS ?= $(addsuffix .o,${OBJS})
APP_DBG_OBJS ?= $(addsuffix .od,${DBG_OBJS})
MOD_OBJS ?= $(addsuffix .oz,${OBJS})
MOD_DBG_OBJS ?= $(addsuffix .odz,${DBG_OBJS})
APP_OBJS ?= ${OBJS}
APP_DBG_OBJS ?= ${DBG_OBJS}
MOD_OBJS ?= ${OBJS}
MOD_DBG_OBJS ?= ${DBG_OBJS}
APP_OBJS_ = $(addsuffix .o,${APP_OBJS})
APP_DBG_OBJS_ = $(addsuffix .od,${APP_DBG_OBJS})
MOD_OBJS_ = $(addsuffix .oz,${MOD_OBJS})
MOD_DBG_OBJS_ = $(addsuffix .odz,${MOD_DBG_OBJS})
EXPORTING_HDRS = $(addsuffix .exphdr,${HDRS})
EXPORTING_ASMHDRS = $(addsuffix .expasm,${ASMHDRS})
......@@ -101,8 +105,21 @@ ifneq (objs,$(notdir ${CURDIR}))
# Makefile invoked from same directory
# Create link farm, then execute the makefile from within it
all_libs export_hdrs export_libs clean links: ${SYMLINK_DEPEND}
ifneq (clean,${MAKECMDGOALS})
ifeq (clean,${MAKECMDGOALS})
# With a double-colon rule which can have additional actions assigned from the
# master makefile, we'd normally need the master makefile to include the
# ${CURDIR} check to ensure that it's performed on the same invocation as us.
# However, there's no real benefit to performing clean from within the objs
# directory, and it adds an ordering problem between the different double-colon
# rules (the one that deletes the objs directory has to be last otherwise the
# cwd is invalid for the others) so to simplify things, we only ever do cleans
# from the same directory as the Makefile.
clean::
@echo Cleaning...
@rm -rf objs
@echo ${COMPONENT}: cleaned
else
all_libs export_hdrs export_libs links: ${SYMLINK_DEPEND}
$(foreach linksource,${SOURCES_TO_SYMLINK}, \
$(shell \
linkdest=`echo ${linksource} | sed -e 's,\([^/]*\)/\([^/]*\)$$,\2.\1,' -e 's,^,objs/,'`; \
......@@ -112,11 +129,11 @@ ifneq (clean,${MAKECMDGOALS})
[ -d ${linksource} ] || [ -L $$linkdest ] || ln -s $$linkbackpath/${linksource} $$linkdest; \
) \
)
endif
@mkdir -p objs
ifneq (links,${MAKECMDGOALS})
@${MAKE} -C objs -f ../$(firstword ${MAKEFILE_LIST}) ${MAKECMDGOALS}
endif
endif
else
......@@ -139,11 +156,6 @@ all_libs: ${TARGET_LIBS}
${DIRS} ::
${TOUCH} $@
clean ::
@${ECHO} Cleaning...
@cd .. && ${WIPE} objs ${WFLAGS}
@${ECHO} ${COMPONENT}: cleaned
export: export_${PHASE}
${NOP}
......@@ -169,17 +181,17 @@ export_libs: create_exp_lib_dir ${DIRS} ${EXPORTING_LIBS} ${TARGET_LIBS}
[ ! -f ../VersionNum ] || ${CP} ../VersionNum ${EXPDIR}/LibVersion ${CPFLAGS}
@${ECHO} ${COMPONENT}: library export complete
${LIBRARY}${CUSTOMLIB}.${LIBEXT}: ${DIRS} ${APP_OBJS}
${AR} ${ARFLAGS} ${LIBRARY}.${LIBEXT} ${APP_OBJS}
${LIBRARY}${CUSTOMLIB}.${LIBEXT}: ${DIRS} ${APP_OBJS_}
${AR} ${ARFLAGS} ${LIBRARY}.${LIBEXT} ${APP_OBJS_}
${LIBRARYZM}${CUSTOMLIBZM}.${LIBEXT}: ${DIRS} ${MOD_OBJS}
${AR} ${ARFLAGS} ${LIBRARYZM}.${LIBEXT} ${MOD_OBJS}
${LIBRARYZM}${CUSTOMLIBZM}.${LIBEXT}: ${DIRS} ${MOD_OBJS_}
${AR} ${ARFLAGS} ${LIBRARYZM}.${LIBEXT} ${MOD_OBJS_}
${LIBRARYD}${CUSTOMLIBD}.${LIBEXT}: ${DIRS} ${APP_DBG_OBJS}
${AR} ${ARFLAGS} ${LIBRARYD}.${LIBEXT} ${APP_DBG_OBJS}
${LIBRARYD}${CUSTOMLIBD}.${LIBEXT}: ${DIRS} ${APP_DBG_OBJS_}
${AR} ${ARFLAGS} ${LIBRARYD}.${LIBEXT} ${APP_DBG_OBJS_}
${LIBRARYDZM}${CUSTOMLIBDZM}.${LIBEXT}: ${DIRS} ${MOD_DBG_OBJS}
${AR} ${ARFLAGS} ${LIBRARYDZM}.${LIBEXT} ${MOD_DBG_OBJS}
${LIBRARYDZM}${CUSTOMLIBDZM}.${LIBEXT}: ${DIRS} ${MOD_DBG_OBJS_}
${AR} ${ARFLAGS} ${LIBRARYDZM}.${LIBEXT} ${MOD_DBG_OBJS_}
include $(wildcard *.d)
include $(wildcard *.dz)
......
......@@ -9,6 +9,7 @@ INCLUDED_STDTOOLS = YES
ifneq (Host,${APCS})
GNUTOOLPREFIX = arm-unknown-riscos-
SUFFIX_ABSOLUTE = ,ff8
SUFFIX_OBEY = ,feb
SUFFIX_DEBIMAGE = ,fd3
endif
......@@ -57,11 +58,12 @@ CAT = cat
#DEFMOD = defmod
DO =
ECHO = echo
FILTERCOMP = FilterComp,102
FILTERCOMP2 = FilterComp2,102
GETVERSION = GetVersion,102
HDR2H = Hdr2H,102
INSTRES = InstRes,102
FILTERCOMP = perl ${TOOLSDIR}/Misc/FilterComp,102
FILTERCOMP2 = perl ${TOOLSDIR}/Misc/FilterComp2,102
GETVERSION = perl ${TOOLSDIR}/Misc/GetVersion,102
HDR2H = perl ${TOOLSDIR}/Build/Hdr2H,102
INSERTVERSION = awk -f ${TOOLSDIR}/Build/AwkVers
INSTRES = perl ${TOOLSDIR}/Build/InstRes,102
MAKE = make
MODGEN = modgen
MODSQZ = modsqz
......@@ -77,7 +79,6 @@ else
SQZ = @echo > /dev/null
endif
#STRIPDEPEND = stripdepnd
TIDYDESC = TidyDesc,102
#TLINK = tlink
#TOGPA = ToGPA
#TOKENCHECK = tokencheck
......@@ -113,6 +114,8 @@ UNZIP = unzip
STDTOOLOPTIONS = ${THROWBACK}
ASFLAGS += ${STDTOOLOPTIONS} ${ASMDEFINES} ${ASMINCLUDES}
ASFLAGS += -I${GLOBALHDRDIR} -I${EXPORTDIR}
ASFLAGS += -PD "APCS SETS \"${APCS}\"" -PD "Machine SETS \"${MACHINE}\"" -PD "UserIF SETS \"${USERIF}\""
ifeq (GNU,${TOOLCHAIN})
ifeq (Host,${APCS})
CINCLUDES += -I${LIBDIR}/CLib
......
......@@ -34,16 +34,16 @@ INCLUDED_CAPP = YES
# INSTDIR (opt) (the target directory - otherwise <Install$Dir>.${TARGET})
# DIRS (opt) (stamp object for directory creation - otherwise o._dirs)
# OBJS (opt) (object files, no o. prefixes - otherwise ${TARGET})
# APP_OBJS (opt) (release build object files, no prefixes - otherwise ${OBJS})
# DBG_OBJS (opt) (debug build object files, no prefixes - otherwise ${OBJS})
# LIBS (opt) (extra libraries; ${CLIB} is always used)
# APP_LIBS (opt) (extra release libraries - otherwise ${LIBS}; ${CLIB} is always used)
# DBG_LIBS (opt) (extra debug libraries - otherwise ${LIBS}; ${CLIB} and ${DEBUGLIBS} always used)
# APP_OBJS (opt) (object files for application version - otherwise derived from ${OBJS})
# APP_DBG_OBJS (opt) (object files for debug app version - otherwise derived from ${DBG_OBJS})
# LINK_TYPE (opt) (variant of linking command, eg C++ - defaults to C)
# INSTTYPE (opt) (use "tool" or "app" to install executable vs application - defaults to "tool")
# INSTAPP_FILES (opt) (list of files to be installed in application directory - use InstRes specification rules)
# INSTAPP_DEPENDS (opt) (list of dependencies to be satisfied before doing application install - ${TARGET} assumed if in INSTAPP_FILES)
# INSTAPP_VERSION (opt) (list of Messages/!Run/Desc files to insert app version from VersionNum - omit from INSTAPP_FILES)
# INSTAPP_VERSION (opt) (list of Messages/!Run/Desc files to insert app version from VersionNum - include in INSTAPP_FILES as well)
# CUSTOMLINK (opt) (set to "custom" to override the link rule)
# CUSTOMINSTALLAPP (opt) (set to "custom" to override the install rule for resource files)
# CUSTOMINSTALLTOOL (opt) (set to "custom" to override the install rule for target binary)
......@@ -89,7 +89,6 @@ DIRS ?= o._dirs
OBJS ?= ${TARGET}
APP_OBJS ?= ${OBJS}
DBG_OBJS ?= ${OBJS}
APP_DBG_OBJS ?= ${DBG_OBJS}
APP_LIBS ?= ${LIBS}
DBG_LIBS ?= ${LIBS}
ifeq (C++,${LINK_TYPE})
......@@ -100,7 +99,7 @@ APP_LIBS += ${CLIB}
DBG_LIBS += ${DEBUGLIBS} ${CLIB}
APP_OBJS_ = $(addprefix o.,${APP_OBJS})
APP_DBG_OBJS_ = $(addprefix od.,${APP_DBG_OBJS})
DBG_OBJS_ = $(addprefix od.,${DBG_OBJS})
ifeq ("${INCLUDED_STDTOOLS}","")
ifeq ("${INCLUDED_HOSTTOOLS}","")
......@@ -169,7 +168,7 @@ ${TARGET}${CUSTOMLINK}: ${APP_OBJS_} ${APP_LIBS} ${DIRS}
${LD} ${LDFLAGS} -o ${TARGET} ${APP_OBJS_} ${APP_LIBS}
${SQZ} ${SQZFLAGS} $@
${DBG_TARGET}${CUSTOMLINK}: ${APP_DBG_OBJS_} ${DBG_LIBS} ${DIRS}
${LD} ${LDFLAGS} ${LDDFLAGS} -o ${DBG_TARGET} ${APP_DBG_OBJS_} ${DBG_LIBS}
${DBG_TARGET}${CUSTOMLINK}: ${DBG_OBJS_} ${DBG_LIBS} ${DIRS}
${LD} ${LDFLAGS} ${LDDFLAGS} -o ${DBG_TARGET} ${DBG_OBJS_} ${DBG_LIBS}
# EOF
......@@ -41,10 +41,10 @@ INCLUDED_CLIBRARY = YES
# ASMHDRS (opt) (assembly header files to export, no Hdr. prefix - otherwise none)
# OBJS (object files, no o. or oz. prefixes)
# DBG_OBJS (opt) (debug build object files, no o. or oz. prefixes - otherwise ${OBJS})
# APP_OBJS (opt) (object files for application version - otherwise derived from ${OBJS})
# APP_DBG_OBJS (opt) (object files for debug app version - otherwise derived from ${DBG_OBJS})
# MOD_OBJS (opt) (object files for module version - otherwise derived from ${OBJS})
# MOD_DBG_OBJS (opt) (object files for debug module version - otherwise derived from ${DBG_OBJS})
# APP_OBJS (opt) (release application object files, no o. or oz. prefixes - otherwise ${OBJS})
# APP_DBG_OBJS (opt) (debug application object files, no o. or oz. prefixes - otherwise ${DBG_OBJS})
# MOD_OBJS (opt) (release module object files, no o. or oz. prefixes - otherwise ${OBJS})
# MOD_DBG_OBJS (opt) (debug module object files, no o. or oz. prefixes - otherwise ${DBG_OBJS})
# CUSTOMLIB (opt) (set to "custom" to override the application library rule)
# CUSTOMLIBZM (opt) (set to "custom" to override the module library rule)
# CUSTOMLIBD (opt) (set to "custom" to override the debug application library rule)
......@@ -99,10 +99,14 @@ DIRS ?= o._dirs
HDRS ?= ${TARGET}
ASMHDRS ?=
DBG_OBJS ?= ${OBJS}
APP_OBJS ?= $(addprefix o.,${OBJS})
APP_DBG_OBJS ?= $(addprefix od.,${DBG_OBJS})
MOD_OBJS ?= $(addprefix oz.,${OBJS})
MOD_DBG_OBJS ?= $(addprefix odz.,${DBG_OBJS})
APP_OBJS ?= ${OBJS}
APP_DBG_OBJS ?= ${DBG_OBJS}
MOD_OBJS ?= ${OBJS}
MOD_DBG_OBJS ?= ${DBG_OBJS}
APP_OBJS_ = $(addprefix o.,${APP_OBJS})
APP_DBG_OBJS_ = $(addprefix od.,${APP_DBG_OBJS})
MOD_OBJS_ = $(addprefix oz.,${MOD_OBJS})
MOD_DBG_OBJS_ = $(addprefix odz.,${MOD_DBG_OBJS})
EXPORTING_HDRS = $(addprefix exphdr.,${HDRS})
EXPORTING_ASMHDRS = $(addprefix expasm.,${ASMHDRS})
......@@ -175,16 +179,16 @@ export_libs: ${EXPORTING_LIBS} ${TARGET_LIBS} ${DIRS} create_exp_lib_dir
@IfThere ${EXPDIR}.${LIBEXT}.* then else ${RM} ${EXPDIR}.${LIBEXT}
@${ECHO} ${COMPONENT}: library export complete
${LIBEXT}.${LIBRARY}${CUSTOMLIB}: ${APP_OBJS} ${DIRS}
${AR} ${ARFLAGS} ${LIBEXT}.${LIBRARY} ${APP_OBJS}
${LIBEXT}.${LIBRARY}${CUSTOMLIB}: ${APP_OBJS_} ${DIRS}
${AR} ${ARFLAGS} ${LIBEXT}.${LIBRARY} ${APP_OBJS_}
${LIBEXT}.${LIBRARYZM}${CUSTOMLIBZM}: ${MOD_OBJS} ${DIRS}
${AR} ${ARFLAGS} ${LIBEXT}.${LIBRARYZM} ${MOD_OBJS}
${LIBEXT}.${LIBRARYZM}${CUSTOMLIBZM}: ${MOD_OBJS_} ${DIRS}
${AR} ${ARFLAGS} ${LIBEXT}.${LIBRARYZM} ${MOD_OBJS_}
${LIBEXT}.${LIBRARYD}${CUSTOMLIBD}: ${APP_DBG_OBJS} ${DIRS}
${AR} ${ARFLAGS} ${LIBEXT}.${LIBRARYD} ${APP_DBG_OBJS}
${LIBEXT}.${LIBRARYD}${CUSTOMLIBD}: ${APP_DBG_OBJS_} ${DIRS}
${AR} ${ARFLAGS} ${LIBEXT}.${LIBRARYD} ${APP_DBG_OBJS_}
${LIBEXT}.${LIBRARYDZM}${CUSTOMLIBDZM}: ${MOD_DBG_OBJS} ${DIRS}
${AR} ${ARFLAGS} ${LIBEXT}.${LIBRARYDZM} ${MOD_DBG_OBJS}
${LIBEXT}.${LIBRARYDZM}${CUSTOMLIBDZM}: ${MOD_DBG_OBJS_} ${DIRS}
${AR} ${ARFLAGS} ${LIBEXT}.${LIBRARYDZM} ${MOD_DBG_OBJS_}
# EOF
......@@ -171,7 +171,6 @@ ROM_LIBS ?= ${LIBS}
SA_LIBS ?= ${LIBS}
DBG_LIBS += ${DEBUGLIBS}
OBJS_ = $(addprefix o.,${OBJS})
ROM_OBJS_ = $(addprefix o.,${ROM_OBJS})
SA_OBJS_ = $(addprefix o.,${SA_OBJS})
DBG_OBJS_ = $(addprefix od.,${DBG_OBJS})
......
......@@ -66,7 +66,6 @@ SQUASH = squash
SQUISH = squish
SQZ = squeeze
STRIPDEPEND = stripdepnd
TIDYDESC = ${PERL} Build:TidyDesc
TLINK = tlink
TOGPA = ToGPA
TOKENCHECK = tokencheck
......
/* (6.31)
/* (6.32)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1.
*
*/
#define Module_MajorVersion_CMHG 6.31
#define Module_MajorVersion_CMHG 6.32
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 09 Nov 2013
#define Module_Date_CMHG 11 Nov 2013
#define Module_MajorVersion "6.31"
#define Module_Version 631
#define Module_MajorVersion "6.32"
#define Module_Version 632
#define Module_MinorVersion ""
#define Module_Date "09 Nov 2013"
#define Module_Date "11 Nov 2013"
#define Module_ApplicationDate "09-Nov-13"
#define Module_ApplicationDate "11-Nov-13"
#define Module_ComponentName "BuildSys"
#define Module_ComponentPath "castle/RiscOS/BuildSys"
#define Module_FullVersion "6.31"
#define Module_HelpVersion "6.31 (09 Nov 2013)"
#define Module_LibraryVersionInfo "6:31"
#define Module_FullVersion "6.32"
#define Module_HelpVersion "6.32 (11 Nov 2013)"
#define Module_LibraryVersionInfo "6:32"
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment