# Index: OSLib/!OsLib/Source/AMUmakefile.inc		20040304
#===================================================================
#
# AMUmakefile for SOURCES under RISC OS
#

#------------------------------------------------------------------------
# paths & directories
DIR		= ${MAKEFILEDIR}
BINDIR		= <OSLib$BinDir>

#tools
MAKE		= amu -desktop
LIBFILE     	= LibFile
INDEXHELP   	= IndexHelp
BINDHELP    	= BindHelp
RM    	    	= rm -nq
MD		= cdir

CP    	    	= copy
COPYFLAGS   	= A~C~DFLN~P~Q~R~S~T~V

#------------------------------------------------------------------------
#target-specific macros

SOURCES = Computer Core Toolbox User

OSLIB	= OSLib.o
OSLIB32	= OSLib32.o
CSTRONG	= help.OSLib
LIST	= list.OSLib
LIST32	= list.OSLib32

#------------------------------------------------------------------------
#targets

.PHONY:	all cstrong Computer computer Core core Toolbox toolbox User user \
	Test test oslib libs clean

all:	oslib

oslib:
	${MAKE} -f ${DIR}.Computer.oslib.AMUmakefile oslib
	${MAKE} -f ${DIR}.Core.oslib.AMUmakefile oslib
	${MAKE} -f ${DIR}.Toolbox.oslib.AMUmakefile oslib
	${MAKE} -f ${DIR}.User.oslib.AMUmakefile oslib
	${MAKE} -f ${DIR}.AMUmakefile ${LIST}
	${MAKE} -f ${DIR}.AMUmakefile ${LIST32}

computer:	Computer
Computer:	;${MAKE} -f ${DIR}.$@.oslib.AMUmakefile all

core:		Core
Core:		;${MAKE} -f ${DIR}.$@.oslib.AMUmakefile all

toolbox:	Toolbox
Toolbox:	;${MAKE} -f ${DIR}.$@.oslib.AMUmakefile all

user:		User
User:		;${MAKE} -f ${DIR}.$@.oslib.AMUmakefile all

#test:		Test
Test:		;${MAKE} -f ${DIR}.$@.AMUmakefile all APCS=${APCS}

cstrong	:	${CSTRONG}
${CSTRONG}:
   		@-${RM} $@
		@${MD} Helpdata
		@${MD} help
   		@${MAKE} -f ${DIR}.Computer.oslib.AMUmakefile  cstrong
	   	@${MAKE} -f ${DIR}.Core.oslib.AMUmakefile      cstrong
   		@${MAKE} -f ${DIR}.Toolbox.oslib.AMUmakefile   cstrong
	   	@${MAKE} -f ${DIR}.User.oslib.AMUmakefile      cstrong
   		${INDEXHELP} ${DIR}.HelpData.action_  -p Action
	   	${INDEXHELP} ${DIR}.HelpData.class_   -p Class
   		${INDEXHELP} ${DIR}.HelpData.error_   -p Error
	   	${INDEXHELP} ${DIR}.HelpData.message_ -p Message
	   	${INDEXHELP} ${DIR}.HelpData.service_ -p Service
	   	${BINDHELP}  ${DIR}.HelpData ${DIR}.$@

list:		${LIST}
${LIST}:	${OSLIB}
		${MD} list
		${LIBFILE} -s o.OSLib { > $@ }
		@SetType $@ text

list32:		${LIST32}
${LIST32}:	${OSLIB32}
		${MD} list
		${LIBFILE} -s o.OSLib32 { > $@ }
		@SetType $@ text

clean:	cleanlib cleanhelp cleanfiles
   	${MAKE} -f ${DIR}.Test.AMUmakefile clean

distclean:
      	${MAKE} -f ${DIR}.Computer.oslib.AMUmakefile 	distclean
      	${MAKE} -f ${DIR}.Core.oslib.AMUmakefile     	distclean
      	${MAKE} -f ${DIR}.Toolbox.oslib.AMUmakefile  	distclean
      	${MAKE} -f ${DIR}.User.oslib.AMUmakefile     	distclean
   	${MAKE} -f ${DIR}.Test.AMUmakefile 		distclean
   	${RM} -r $(addprefix ${DIR}., o list help )
   	${RM} -r $(addprefix ${DIR}., Helpdata )

cleanlib:
   ${MAKE} -f ${DIR}.Computer.oslib.AMUmakefile cleanlib
   ${MAKE} -f ${DIR}.Core.oslib.AMUmakefile     cleanlib
   ${MAKE} -f ${DIR}.Toolbox.oslib.AMUmakefile  cleanlib
   ${MAKE} -f ${DIR}.User.oslib.AMUmakefile     cleanlib
   ${RM} $(addprefix ${DIR}., o.OSLib o.OSLib32 )
   ${RM} $(addprefix ${DIR}., ${LIST} ${LIST32} )

cleanfiles:
   ${MAKE} -f ${DIR}.Computer.oslib.AMUmakefile cleanfiles
   ${MAKE} -f ${DIR}.Core.oslib.AMUmakefile     cleanfiles
   ${MAKE} -f ${DIR}.Toolbox.oslib.AMUmakefile  cleanfiles
   ${MAKE} -f ${DIR}.User.oslib.AMUmakefile     cleanfiles

cleanhelp:
   ${MAKE} -f ${DIR}.Computer.oslib.AMUmakefile cleanhelp
   ${MAKE} -f ${DIR}.Core.oslib.AMUmakefile     cleanhelp
   ${MAKE} -f ${DIR}.Toolbox.oslib.AMUmakefile  cleanhelp
   ${MAKE} -f ${DIR}.User.oslib.AMUmakefile     cleanhelp
   ${RM} -r ${DIR}.Helpdata
   ${RM} ${DIR}.${CSTRONG}

release_widelib:
ifndef RELEASEDIR
	@error Release Dir undefined
endif
      ${MD} ${RELEASEDIR}.OSLib
      ${CP} SetVarsRO4 	${RELEASEDIR}.SetVars 		${COPYFLAGS}
      ${CP} o		${RELEASEDIR}.OSLib.o 		${COPYFLAGS}
      ${MAKE} -f ${DIR}.computer.oslib.AMUmakefile 	release RELEASEDIR=${RELEASEDIR}.OSLib.oslib 
      ${MAKE} -f ${DIR}.core.oslib.AMUmakefile   	release RELEASEDIR=${RELEASEDIR}.OSLib.oslib  
      ${MAKE} -f ${DIR}.Macros.oslib.AMUmakefile 	release RELEASEDIR=${RELEASEDIR}.OSLib.oslib 
      ${MAKE} -f ${DIR}.Toolbox.oslib.AMUmakefile 	release RELEASEDIR=${RELEASEDIR}.OSLib.oslib 
      ${MAKE} -f ${DIR}.Types.oslib.AMUmakefile  	release RELEASEDIR=${RELEASEDIR}.OSLib.oslib 
      ${MAKE} -f ${DIR}.User.oslib.AMUmakefile   	release RELEASEDIR=${RELEASEDIR}.OSLib.oslib 

release_deeplib:
ifndef RELEASEDIR
	@error Release Dir undefined
endif
      ${MD} ${RELEASEDIR}.OSLib
      ${CP} SetVars	${RELEASEDIR}.OSLib.SetVars   	${COPYFLAGS}
      ${CP} o  		${RELEASEDIR}.OSLib.o   	${COPYFLAGS}
      ${MD} ${RELEASEDIR}.OSLib.Computer
      ${MAKE} -f ${DIR}.Computer.oslib.AMUmakefile 	release RELEASEDIR=${RELEASEDIR}.OSLib.Computer.oslib 
      ${MD} ${RELEASEDIR}.OSLib.Core
      ${MAKE} -f ${DIR}.Core.oslib.AMUmakefile   	release RELEASEDIR=${RELEASEDIR}.OSLib.Core.oslib 
      ${MD} ${RELEASEDIR}.OSLib.Macros
      ${MAKE} -f ${DIR}.Macros.oslib.AMUmakefile 	release RELEASEDIR=${RELEASEDIR}.OSLib.Macros.oslib 
      ${MD} ${RELEASEDIR}.OSLib.Toolbox
      ${MAKE} -f ${DIR}.Toolbox.oslib.AMUmakefile 	release RELEASEDIR=${RELEASEDIR}.OSLib.Toolbox.oslib 
      ${MD} ${RELEASEDIR}.OSLib.Types
      ${MAKE} -f ${DIR}.Types.oslib.AMUmakefile  	release RELEASEDIR=${RELEASEDIR}.OSLib.Types.oslib 
      ${MD} ${RELEASEDIR}.OSLib.User
      ${MAKE} -f ${DIR}.User.oslib.AMUmakefile   	release RELEASEDIR=${RELEASEDIR}.OSLib.User.oslib 

release_help:
ifndef RELEASEDIR
		@error Release Dir undefined
endif
      		${MD} ${RELEASEDIR}.help
		${CP} ${CSTRONG} ${RELEASEDIR}.help.*	${COPYFLAGS}
	
#------------------------------------------------------------------------
# Dynamic dependencies:
