Commit 057d3da8 authored by ARM64 Builder's avatar ARM64 Builder
Browse files

amend previous 2 commits: in clean-classic for linux-arm32 add dynamics examples

parent 645350ed
Pipeline #50930 passed with stage
in 21 minutes and 27 seconds
#
# Makefile for the Clean Standard Environment
#
# make (= make stdenv):
# compiles all modules
#
# make install:
# compiles all modules
# copies files to install directory
#
# make cleanup:
# removes all files in this directory that can be recreated
#
CLEAN_MODULES = \
StdArray StdCharList StdClass StdDebug StdFunc StdFunctions StdList StdOrdList \
StdOverloaded StdTuple _SystemEnum StdEnum _SystemArray StdEnv _SystemStrictLists \
_SystemEnumStrict StdStrictLists StdOverloadedList StdGeneric StdMaybe _SystemStrictMaybes
SYSTEM_MODULES = \
StdBool StdChar StdFile StdInt StdMisc StdReal StdString
ABC_MODULES = \
_system
OBJECT_MODULES = \
_startup _startupTrace
SYSTEM_OBJECT_MODULES = \
CLEAN_MODULES_ABC = $(CLEAN_MODULES:%=Clean\ System\ Files/%.abc)
SYSTEM_MODULES_ABC = $(SYSTEM_MODULES:%=Clean\ System\ Files/%.abc)
SYSTEM_MODULES_ICL = $(SYSTEM_MODULES:%=%.icl)
ABC_MODULES_ABC = $(ABC_MODULES:%=Clean\ System\ Files/%.abc)
CLEAN_MODULES_O = $(CLEAN_MODULES:%=Clean\ System\ Files/%.o)
SYSTEM_MODULES_O = $(SYSTEM_MODULES:%=Clean\ System\ Files/%.o)
ABC_MODULES_O = $(ABC_MODULES:%=Clean\ System\ Files/%.o)
OBJECT_MODULES_O = $(OBJECT_MODULES:%=Clean\ System\ Files/%.o)
SYSTEM_OBJECT_MODULES_O = $(SYSTEM_OBJECT_MODULES:%=Clean\ System\ Files/%.o)
STDENV_FILES = \
$(CLEAN_MODULES:%=%.icl) \
$(CLEAN_MODULES:%=%.dcl) \
$(SYSTEM_MODULES:%=%.dcl) \
$(SYSTEM_MODULES_ABC) \
$(CLEAN_MODULES_ABC) \
$(ABC_MODULES_ABC) \
wait1 \
$(SYSTEM_MODULES_O) \
$(CLEAN_MODULES_O) \
$(ABC_MODULES_O) \
$(OBJECT_MODULES_O) \
$(SYSTEM_OBJECT_MODULES_O)
wait1:
sleep 1
#
# Compile
#
stdenv: $(STDENV_FILES)
#
# Install
#
# the order here is important, because the files will be
# installed in the order given below.
INSTALL_STDENV_FILES = \
$(CLEAN_MODULES:%=$(INSTALL_STDENV_DIR)/%.icl) \
$(CLEAN_MODULES:%=$(INSTALL_STDENV_DIR)/%.dcl) \
$(SYSTEM_MODULES:%=$(INSTALL_STDENV_DIR)/%.dcl) \
$(ABC_MODULES:%=$(INSTALL_STDENV_DIR)/%.dcl) \
$(OBJECT_MODULES:%=$(INSTALL_STDENV_DIR)/%.dcl) \
$(SYSTEM_MODULES:%=$(INSTALL_STDENV_DIR)/Clean\ System\ Files/%.abc) \
$(CLEAN_MODULES:%=$(INSTALL_STDENV_DIR)/Clean\ System\ Files/%.abc) \
$(ABC_MODULES:%=$(INSTALL_STDENV_DIR)/Clean\ System\ Files/%.abc) \
wait2 \
$(SYSTEM_MODULES:%=$(INSTALL_STDENV_DIR)/Clean\ System\ Files/%.o) \
$(CLEAN_MODULES:%=$(INSTALL_STDENV_DIR)/Clean\ System\ Files/%.o) \
$(ABC_MODULES:%=$(INSTALL_STDENV_DIR)/Clean\ System\ Files/%.o) \
$(OBJECT_MODULES:%=$(INSTALL_STDENV_DIR)/Clean\ System\ Files/%.o) \
$(SYSTEM_OBJECT_MODULES:%=$(INSTALL_STDENV_DIR)/Clean\ System\ Files/%.o)
install: stdenv $(INSTALL_STDENV_DIR) $(INSTALL_STDENV_DIR)/Clean\ System\ Files $(INSTALL_STDENV_FILES)
wait2:
sleep 1
$(INSTALL_STDENV_DIR) :
mkdir -p "$@"
$(INSTALL_STDENV_DIR)/Clean\ System\ Files :
mkdir -p "$@"
$(INSTALL_STDENV_DIR)/% : %
cp --preserve=timestamps "$<" "$@"
chmod 644 "$@"
#
# Cleanup
#
cleanup:
$(RM) $(CLEAN_MODULES_ABC) \
$(RM) $(CLEAN_MODULES_O) \
$(RM) $(SYSTEM_MODULES_O) \
$(RM) $(ABC_MODULES_O)
#
# Commands
#
CLM = clm -P .
CLMFLAGS =
.SUFFIXES: .abc .dcl .icl .o
.icl.abc:
$(CLM) $(CLMFLAGS) -ABC $*
.icl.o:
$(CLM) $(CLMFLAGS) -O `basename "$*" .icl`
.abc.o:
$(CLM) $(CLMFLAGS) -O `basename "$*" .icl`
Clean\ System\ Files/StdArray.o : StdArray.icl StdArray.dcl
$(CLM) -O StdArray
Clean\ System\ Files/StdArray.abc : StdArray.icl StdArray.dcl
$(CLM) -ABC StdArray
Clean\ System\ Files/StdCharList.o : StdCharList.icl StdCharList.dcl
$(CLM) -O StdCharList
Clean\ System\ Files/StdCharList.abc : StdCharList.icl StdCharList.dcl
$(CLM) -ABC StdCharList
Clean\ System\ Files/StdClass.o : StdClass.icl StdClass.dcl
$(CLM) -O StdClass
Clean\ System\ Files/StdClass.abc : StdClass.icl StdClass.dcl
$(CLM) -ABC StdClass
Clean\ System\ Files/StdDebug.o : StdDebug.icl StdDebug.dcl
$(CLM) -O StdDebug
Clean\ System\ Files/StdDebug.abc : StdDebug.icl StdDebug.dcl
$(CLM) -ABC StdDebug
Clean\ System\ Files/StdEnum.o : StdEnum.icl StdEnum.dcl
$(CLM) -O StdEnum
Clean\ System\ Files/StdEnum.abc : StdEnum.icl StdEnum.dcl
$(CLM) -ABC StdEnum
Clean\ System\ Files/StdEnv.o : StdEnv.icl StdEnv.dcl
$(CLM) -O StdEnv
Clean\ System\ Files/StdEnv.abc : StdEnv.icl StdEnv.dcl
$(CLM) -ABC StdEnv
Clean\ System\ Files/StdFunc.o : StdFunc.icl StdFunc.dcl
$(CLM) -O StdFunc
Clean\ System\ Files/StdFunc.abc : StdFunc.icl StdFunc.dcl
$(CLM) -ABC StdFunc
Clean\ System\ Files/StdFunctions.o : StdFunctions.icl StdFunctions.dcl
$(CLM) -O StdFunctions
Clean\ System\ Files/StdFunctions.abc : StdFunctions.icl StdFunctions.dcl
$(CLM) -ABC StdFunctions
Clean\ System\ Files/StdMaybe.o : StdMaybe.icl StdMaybe.dcl
$(CLM) -O StdMaybe
Clean\ System\ Files/StdMaybe.abc : StdMaybe.icl StdMaybe.dcl
$(CLM) -ABC StdMaybe
Clean\ System\ Files/StdList.o : StdList.icl StdList.dcl
$(CLM) -O StdList
Clean\ System\ Files/StdList.abc : StdList.icl StdList.dcl
$(CLM) -ABC StdList
Clean\ System\ Files/StdOrdList.o : StdOrdList.icl StdOrdList.dcl
$(CLM) -O StdOrdList
Clean\ System\ Files/StdOrdList.abc : StdOrdList.icl StdOrdList.dcl
$(CLM) -ABC StdOrdList
Clean\ System\ Files/StdOverloaded.o : StdOverloaded.icl StdOverloaded.dcl
$(CLM) -O StdOverloaded
Clean\ System\ Files/StdOverloaded.abc : StdOverloaded.icl StdOverloaded.dcl
$(CLM) -ABC StdOverloaded
Clean\ System\ Files/StdTuple.o : StdTuple.icl StdTuple.dcl
$(CLM) -O StdTuple
Clean\ System\ Files/StdTuple.abc : StdTuple.icl StdTuple.dcl
$(CLM) -ABC StdTuple
Clean\ System\ Files/_SystemEnum.o : _SystemEnum.icl _SystemEnum.dcl
$(CLM) -O _SystemEnum
Clean\ System\ Files/_SystemEnum.abc : _SystemEnum.icl _SystemEnum.dcl
$(CLM) -ABC _SystemEnum
Clean\ System\ Files/StdBool.o : StdBool.dcl Clean\ System\ Files/StdBool.abc
$(CLM) -O StdBool
Clean\ System\ Files/StdBool.abc : StdBool.icl StdBool.dcl
$(CLM) -pt -ABC StdBool
Clean\ System\ Files/StdChar.o : StdChar.dcl Clean\ System\ Files/StdChar.abc
$(CLM) -O StdChar
Clean\ System\ Files/StdChar.abc : StdChar.icl StdChar.dcl
$(CLM) -pt -ABC StdChar
Clean\ System\ Files/StdFile.o : StdFile.dcl Clean\ System\ Files/StdFile.abc
$(CLM) -O StdFile
Clean\ System\ Files/StdFile.abc : StdFile.icl StdFile.dcl
$(CLM) -pt -ABC StdFile
Clean\ System\ Files/StdInt.o : StdInt.dcl Clean\ System\ Files/StdInt.abc
$(CLM) -O StdInt
Clean\ System\ Files/StdInt.abc : StdInt.icl StdInt.dcl
$(CLM) -pt -ABC StdInt
Clean\ System\ Files/StdMisc.o : StdMisc.dcl Clean\ System\ Files/StdMisc.abc
$(CLM) -O StdMisc
Clean\ System\ Files/StdMisc.abc : StdMisc.icl StdMisc.dcl
$(CLM) -pt -ABC StdMisc
Clean\ System\ Files/StdReal.o : StdReal.dcl Clean\ System\ Files/StdReal.abc
$(CLM) -O StdReal
Clean\ System\ Files/StdReal.abc : StdReal.icl StdReal.dcl
$(CLM) -pt -ABC StdReal
Clean\ System\ Files/StdString.o : StdString.dcl Clean\ System\ Files/StdString.abc
$(CLM) -O StdString
Clean\ System\ Files/StdString.abc : StdString.icl StdString.dcl
$(CLM) -pt -ABC StdString
Clean\ System\ Files/_SystemArray.o : _SystemArray.dcl Clean\ System\ Files/_SystemArray.abc
$(CLM) -O _SystemArray
Clean\ System\ Files/_SystemArray.abc : _SystemArray.icl _SystemArray.dcl
$(CLM) -ABC _SystemArray
Clean\ System\ Files/_SystemStrictLists.o : _SystemStrictLists.dcl Clean\ System\ Files/_SystemStrictLists.abc
$(CLM) -O _SystemStrictLists
Clean\ System\ Files/_SystemStrictLists.abc : _SystemStrictLists.icl _SystemStrictLists.dcl
$(CLM) -ABC _SystemStrictLists
Clean\ System\ Files/_SystemEnumStrict.o : _SystemEnumStrict.dcl Clean\ System\ Files/_SystemEnumStrict.abc
$(CLM) -O _SystemEnumStrict
Clean\ System\ Files/_SystemEnumStrict.abc : _SystemEnumStrict.icl _SystemEnumStrict.dcl
$(CLM) -ABC _SystemEnumStrict
Clean\ System\ Files/StdStrictLists.o : StdStrictLists.dcl Clean\ System\ Files/StdStrictLists.abc
$(CLM) -O StdStrictLists
Clean\ System\ Files/StdStrictLists.abc : StdStrictLists.icl StdStrictLists.dcl
$(CLM) -ABC StdStrictLists
Clean\ System\ Files/StdOverloadedList.o : StdOverloadedList.dcl Clean\ System\ Files/StdOverloadedList.abc
$(CLM) -O StdOverloadedList
Clean\ System\ Files/StdOverloadedList.abc : StdOverloadedList.icl StdOverloadedList.dcl
$(CLM) -ABC StdOverloadedList
Clean\ System\ Files/StdGeneric.abc : StdGeneric.icl StdGeneric.dcl
$(CLM) -ABC StdGeneric
Clean\ System\ Files/StdGeneric.o : StdGeneric.dcl Clean\ System\ Files/StdGeneric.abc
$(CLM) -O StdGeneric
Clean\ System\ Files/_SystemStrictMaybes.o : _SystemStrictMaybes.dcl Clean\ System\ Files/_SystemStrictMaybes.abc
$(CLM) -O _SystemStrictMaybes
Clean\ System\ Files/_system.o : Clean\ System\ Files/_system.abc
$(CLM) -O _system
# compile system modules twice, to make sure all inlining is done
system_abc: $(SYSTEM_MODULES_ABC) system_abc_touch
system_abc_touch:
touch $(SYSTEM_MODULES_ICL)
$(MAKE) system_abc_again
system_abc_again: $(SYSTEM_MODULES_ABC)
set -e
./make.sh
CALL_CP="cp --preserve=timestamps"
CALL_CHMOD="chmod 644"
CLEAN_MODULES="StdArray StdCharList StdClass StdDebug StdFunc StdFunctions StdList StdOrdList \
StdOverloaded StdTuple _SystemEnum StdEnum _SystemArray StdEnv _SystemStrictLists \
_SystemEnumStrict StdStrictLists StdOverloadedList StdGeneric StdMaybe _SystemStrictMaybes"
SYSTEM_MODULES="StdBool StdChar StdFile StdInt StdMisc StdReal StdString"
ABC_MODULES="_system"
OBJECT_MODULES="_startup _startupTrace"
mkdir -p $INSTALL_STDENV_DIR
mkdir -p $INSTALL_STDENV_DIR/"Clean System Files"
for M in $CLEAN_MODULES $SYSTEM_MODULES; do
$CALL_CP $M.icl $INSTALL_STDENV_DIR/$M.icl
$CALL_CHMOD $INSTALL_STDENV_DIR/$M.icl
done
for M in $CLEAN_MODULES $SYSTEM_MODULES $ABC_MODULES $OBJECT_MODULES; do
$CALL_CP $M.dcl $INSTALL_STDENV_DIR/$M.dcl
$CALL_CHMOD $INSTALL_STDENV_DIR/$M.dcl
done
for M in $SYSTEM_MODULES $CLEAN_MODULES $ABC_MODULES; do
$CALL_CP "Clean System Files"/$M.abc $INSTALL_STDENV_DIR/"Clean System Files"/$M.abc
$CALL_CHMOD $INSTALL_STDENV_DIR/"Clean System Files"/$M.abc
done
sleep 1
for M in $SYSTEM_MODULES $CLEAN_MODULES $ABC_MODULES $OBJECT_MODULES; do
$CALL_CP "Clean System Files"/$M.o $INSTALL_STDENV_DIR/"Clean System Files"/$M.o
$CALL_CHMOD $INSTALL_STDENV_DIR/"Clean System Files"/$M.o
done
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