diff --git a/clean-classic/linux-x64/build_boot.sh b/clean-classic/linux-x64/build_boot.sh index 49dcdd5def6406bce3770fb89182c0b01cad36e7..1108b8818780b878a8c6b9a1bb0a029c71bd27da 100755 --- a/clean-classic/linux-x64/build_boot.sh +++ b/clean-classic/linux-x64/build_boot.sh @@ -16,24 +16,47 @@ done mkdir -p boot/clean/src cp ./clean-classic/linux-x64/txt/Makefile_boot boot/clean/src/Makefile cd boot/clean/src -../../../clean-classic/linux-x64/git_clone.sh clean-compiler-and-rts/run-time-system.git RuntimeSystem -rm -Rf RuntimeSystem/.git -../../../clean-classic/linux-x64/git_clone.sh clean-compiler-and-rts/code-generator.git CodeGenerator -rm -Rf CodeGenerator/.git -../../../clean-classic/linux-x64/git_clone.sh clean-and-itasks/clm.git clm -rm -Rf clm/.git -../../../clean-classic/linux-x64/svn_export.sh clean-tools/trunk/htoclean tools/htoclean -../../../clean-classic/linux-x64/git_clone_no_checkout_depth_1.sh clean-and-itasks/clean-libraries.git clean-libraries -(cd clean-libraries; git checkout master Libraries/ArgEnvUnix Libraries/StdLib Libraries/Directory) -rm -Rf clean-libraries/.git +#../../../clean-classic/linux-x64/git_clone.sh clean-compiler-and-rts/run-time-system.git RuntimeSystem +#rm -Rf RuntimeSystem/.git +(cd ../../../git/run-time-system; git checkout master .) +mkdir RuntimeSystem +mv ../../../git/run-time-system/* RuntimeSystem +#../../../clean-classic/linux-x64/git_clone.sh clean-compiler-and-rts/code-generator.git CodeGenerator +#rm -Rf CodeGenerator/.git +(cd ../../../git/code-generator; git checkout master .) +mkdir CodeGenerator +mv ../../../git/code-generator/* CodeGenerator/ +#../../../clean-classic/linux-x64/git_clone.sh clean-and-itasks/clm.git clm +#rm -Rf clm/.git +(cd ../../../git/clm; git checkout master .) +mkdir clm +mv ../../../git/clm/* clm/ +#../../../clean-classic/linux-x64/svn_export.sh clean-tools/trunk/htoclean tools/htoclean +mkdir -p tools/htoclean +cp -p -R ../../../svn/clean-tools/htoclean/* tools/htoclean +#../../../clean-classic/linux-x64/git_clone_no_checkout_depth_1.sh clean-and-itasks/clean-libraries.git clean-libraries +#(cd clean-libraries; git checkout master Libraries/ArgEnvUnix Libraries/StdLib Libraries/Directory) +#rm -Rf clean-libraries/.git +(cd ../../../git/clean-libraries; git checkout master Libraries/ArgEnvUnix Libraries/StdLib Libraries/Directory) +mkdir clean-libraries +mv ../../../git/clean-libraries/* clean-libraries/ (cp "tools/htoclean/Clean.h" "clean-libraries/Libraries/Directory/Clean System Files Unix/Clean.h"; cd clean-libraries/Libraries/Directory; mkdir "Clean System Files"; gcc -c -O "Clean System Files Unix/cDirectory.c" -o "Clean System Files/cDirectory.o") -../../../clean-classic/linux-x64/git_clone.sh clean-compiler-and-rts/compiler.git compiler -rm -Rf compiler/.git -../../../clean-classic/linux-x64/svn_export.sh clean-tools/trunk/elf_linker elf_linker -../../../clean-classic/linux-x64/git_clone.sh clean-and-itasks/clean-ide.git clean-ide -rm -Rf clean-ide/.git +#../../../clean-classic/linux-x64/git_clone.sh clean-compiler-and-rts/compiler.git compiler +#rm -Rf compiler/.git +(cd ../../../git/compiler; git checkout master .) +mkdir compiler +mv ../../../git/compiler/* compiler/ +#../../../clean-classic/linux-x64/svn_export.sh clean-tools/trunk/elf_linker elf_linker +mkdir -p elf_linker +cp -p -R ../../../svn/clean-tools/elf_linker/* elf_linker +#../../../clean-classic/linux-x64/git_clone.sh clean-and-itasks/clean-ide.git clean-ide +#rm -Rf clean-ide/.git +(cd ../../../git/clean-ide; git checkout master .) +mkdir clean-ide +mv ../../../git/clean-ide/* clean-ide/ chmod +x RuntimeSystem/remove_tmp_files_linux cd ../../.. +sleep 2 for p in elf_linker elf_linker/ai64 compiler/main/Unix \ clean-libraries/Libraries/ArgEnvUnix compiler/frontend compiler/backend compiler/main; do mkdir -p "boot/clean/src/$p/Clean System Files"; diff --git a/clean-classic/linux-x64/txt/README b/clean-classic/linux-x64/txt/README index 24706f633dd90de066c3f55da14a05ee65930215..4b8ea142639693bc1711918247d38d15df14137a 100755 --- a/clean-classic/linux-x64/txt/README +++ b/clean-classic/linux-x64/txt/README @@ -1,24 +1,45 @@ -# Using Clean +Installing Clean +================ + +By default the Clean system is installed in the current directory. +You can override these defaults by changing INSTALL_BIN_DIR, INSTALL_LIB_DIR, INSTALL_MAN_DIR in the Makefile. + +To install the Clean system type: + + make + +Using Clean +=========== Compiling Clean programs on linux can be done using one of the following tools: - clm: A build tool for simple projects. All compilation options and paths to libraries are specified as command line arguments + - cpm: A build tool that allows you to specify build configurations of programs in Clean project files (.prj). You can use cpm to create or edit project files and build those projects. -Both tools rely on the environment variable `CLEAN_HOME` to point to where you installed Clean to find libraries and executables. -So for example if you have unpacked this package to `/Users/myusername/clean` you should the following exports to your .bashrc/.profile/etc -``` -export CLEAN_HOME=/Users/myusername/clean -export PATH=$PATH:$CLEAN_HOME/bin -``` + cpm relies on the environment variable `CLEAN_HOME` to point to where you installed Clean to find libraries and executables. + So for example if you have installed clean in '/home/myusername/clean' you should add the following exports to your .bashrc/.profile/etc -# More Info + export CLEAN_HOME=/home/myusername/clean + export PATH=$PATH:$CLEAN_HOME/bin -Additional information about Clean is can be found on the website: +Compiling the example programs +============================== - http://clean.cs.ru.nl +The directory 'examples/SmallExamples' contains small Clean programs. +The directory contains a Makefile to compile the examples. + +General Info +============ + +More information about Clean is available on the website: + + http://clean.cs.ru.nl Bug reports, questions and suggestions are welcome. Please send them to: - mailto:clean@cs.ru.nl + mailto:clean@cs.ru.nl + +Versions of Clean are available for several platforms. + diff --git a/clean-classic/linux-x86/build_boot.sh b/clean-classic/linux-x86/build_boot.sh index 442e56ef44bb6da23c5b3e0295aad1b4909573e5..28791cf7f342fe17b3690775836163ef6b9a2f16 100755 --- a/clean-classic/linux-x86/build_boot.sh +++ b/clean-classic/linux-x86/build_boot.sh @@ -16,26 +16,50 @@ done mkdir -p boot/clean/src cp ./clean-classic/linux-x86/txt/Makefile_boot boot/clean/src/Makefile cd boot/clean/src -../../../clean-classic/linux-x86/git_clone.sh clean-compiler-and-rts/run-time-system.git RuntimeSystem -rm -Rf RuntimeSystem/.git -../../../clean-classic/linux-x86/git_clone.sh clean-compiler-and-rts/code-generator.git CodeGenerator -rm -Rf CodeGenerator/.git -../../../clean-classic/linux-x86/git_clone.sh clean-and-itasks/clm.git clm -rm -Rf clm/.git -../../../clean-classic/linux-x86/svn_export.sh clean-tools/trunk/htoclean tools/htoclean -../../../clean-classic/linux-x86/git_clone_no_checkout_depth_1.sh clean-and-itasks/clean-libraries.git clean-libraries -(cd clean-libraries; git checkout master Libraries/ArgEnvUnix Libraries/StdLib Libraries/Directory) -rm -Rf clean-libraries/.git -(cp "tools/htoclean/Clean.h" "clean-libraries/Libraries/Directory/Clean System Files Unix/Clean.h"; cd clean-libraries/Libraries/Directory; mkdir "Clean System Files"; gcc -c -O "Clean System Files Unix/cDirectory.c" -o "Clean System Files/cDirectory.o") -../../../clean-classic/linux-x86/git_clone.sh clean-compiler-and-rts/compiler.git compiler -rm -Rf compiler/.git -../../../clean-classic/linux-x86/svn_export.sh clean-tools/trunk/elf_linker elf_linker -../../../clean-classic/linux-x86/git_clone.sh clean-and-itasks/clean-ide.git clean-ide -rm -Rf clean-ide/.git +#../../../clean-classic/linux-x86/git_clone.sh clean-compiler-and-rts/run-time-system.git RuntimeSystem +#rm -Rf RuntimeSystem/.git +(cd ../../../git/run-time-system; git checkout master .) +mkdir RuntimeSystem +mv ../../../git/run-time-system/* RuntimeSystem +#../../../clean-classic/linux-x86/git_clone.sh clean-compiler-and-rts/code-generator.git CodeGenerator +#rm -Rf CodeGenerator/.git +(cd ../../../git/code-generator; git checkout master .) +mkdir CodeGenerator +mv ../../../git/code-generator/* CodeGenerator/ +#../../../clean-classic/linux-x86/git_clone.sh clean-and-itasks/clm.git clm +#rm -Rf clm/.git +(cd ../../../git/clm; git checkout master .) +mkdir clm +mv ../../../git/clm/* clm/ +#../../../clean-classic/linux-x86/svn_export.sh clean-tools/trunk/htoclean tools/htoclean +mkdir -p tools/htoclean +cp -p -R ../../../svn/clean-tools/htoclean/* tools/htoclean +#../../../clean-classic/linux-x86/git_clone_no_checkout_depth_1.sh clean-and-itasks/clean-libraries.git clean-libraries +#(cd clean-libraries; git checkout master Libraries/ArgEnvUnix Libraries/StdLib Libraries/Directory) +#rm -Rf clean-libraries/.git +(cd ../../../git/clean-libraries; git checkout master Libraries/ArgEnvUnix Libraries/StdLib Libraries/Directory) +mkdir clean-libraries +mv ../../../git/clean-libraries/* clean-libraries/ +(cp "tools/htoclean/Clean.h" "clean-libraries/Libraries/Directory/Clean System Files Unix/Clean.h"; cd clean-libraries/Libraries/Directory; mkdir "Clean System Files"; gcc -c -O -fno-pic "Clean System Files Unix/cDirectory.c" -o "Clean System Files/cDirectory.o") +#../../../clean-classic/linux-x86/git_clone.sh clean-compiler-and-rts/compiler.git compiler +#rm -Rf compiler/.git +(cd ../../../git/compiler; git checkout master .) +mkdir compiler +mv ../../../git/compiler/* compiler/ +#../../../clean-classic/linux-x86/svn_export.sh clean-tools/trunk/elf_linker elf_linker +mkdir -p elf_linker +cp -p -R ../../../svn/clean-tools/elf_linker/* elf_linker +#../../../clean-classic/linux-x86/git_clone.sh clean-and-itasks/clean-ide.git clean-ide +#rm -Rf clean-ide/.git +(cd ../../../git/clean-ide; git checkout master .) +mkdir clean-ide +mv ../../../git/clean-ide/* clean-ide/ chmod +x RuntimeSystem/remove_tmp_files_linux cd ../../.. +sleep 2 for p in elf_linker elf_linker/ia32 compiler/main/Unix \ clean-libraries/Libraries/ArgEnvUnix compiler/frontend compiler/backend compiler/main; do mkdir -p "boot/clean/src/$p/Clean System Files"; cp "$p/Clean System Files/"*.abc "boot/clean/src/$p/Clean System Files"; done +rm boot/clean/src/clean-libraries/Libraries/Directory/Clean\ System\ Files/cDirectory.o diff --git a/clean-classic/linux-x86/txt/Makefile_boot b/clean-classic/linux-x86/txt/Makefile_boot index 84bb552534764d4d0a4df19f3f2400c585aeb327..530e96ab3df6d0280af1553f35c28c29132bf48d 100755 --- a/clean-classic/linux-x86/txt/Makefile_boot +++ b/clean-classic/linux-x86/txt/Makefile_boot @@ -4,20 +4,20 @@ all: ../StdEnv/Clean\ System\ Files/_startup.o ../StdEnv/Clean\ System\ Files/_s ../StdEnv/Clean\ System\ Files/_startup.o: RuntimeSystem/_startup.o cp RuntimeSystem/_startup.o ../StdEnv/Clean\ System\ Files/_startup.o -../StdEnv/Clean\ System\ Files/_startupTrace.o: RuntimeSystem/_startupProfile.o +../StdEnv/Clean\ System\ Files/_startupProfile.o: RuntimeSystem/_startupProfile.o cp RuntimeSystem/_startupProfile.o ../StdEnv/Clean\ System\ Files/_startupProfile.o ../StdEnv/Clean\ System\ Files/_startupTrace.o: RuntimeSystem/_startupTrace.o cp RuntimeSystem/_startupTrace.o ../StdEnv/Clean\ System\ Files/_startupTrace.o RuntimeSystem/_startup.o: - cd RuntimeSystem ; chmod +x ./remove_tmp_files_linux ; ./remove_tmp_files_linux ; make -f Makefile.linux + cd RuntimeSystem ; chmod +x ./remove_tmp_files_linux ; ./remove_tmp_files_linux ; make -f Makefile.linux32_no_pic RuntimeSystem/_startupProfile.o: - cd RuntimeSystem ; chmod +x ./remove_tmp_files_linux ; ./remove_tmp_files_linux ; make -f Makefileprofile.linux + cd RuntimeSystem ; chmod +x ./remove_tmp_files_linux ; ./remove_tmp_files_linux ; make -f Makefileprofile.linux32_no_pic RuntimeSystem/_startupTrace.o: - cd RuntimeSystem ; chmod +x ./remove_tmp_files_linux ; ./remove_tmp_files_linux ; make -f Makefiletrace.linux + cd RuntimeSystem ; chmod +x ./remove_tmp_files_linux ; ./remove_tmp_files_linux ; make -f Makefiletrace.linux32_no_pic ../StdEnv/Clean\ System\ Files/_system.o: ../exe/cg cd ../StdEnv/Clean\ System\ Files ; ../../exe/cg _system @@ -52,7 +52,10 @@ clm/clms: ../bin/patch_bin clm/clms CLEANPATH $(CWD)/../StdEnv clean-libraries/Libraries/ArgEnvUnix/ArgEnvC.o: - cd clean-libraries/Libraries/ArgEnvUnix; make ArgEnvC.o + cd clean-libraries/Libraries/ArgEnvUnix; make -f Makefile_no_pic ArgEnvC.o + +clean-libraries/Libraries/Directory/Clean\ System\ Files/cDirectory.o: + cd clean-libraries/Libraries/Directory/Clean\ System\ Files\ Unix; gcc -c -O -fno-pic cDirectory.c -o ../Clean\ System\ Files/cDirectory.o compiler/main/Unix/set_return_code_c.o: cd compiler/main/Unix; make all @@ -89,14 +92,14 @@ tools/htoclean/htoclean: ../bin/BatchBuild: clean-ide/BatchBuild/BatchBuild cp clean-ide/BatchBuild/BatchBuild ../bin/BatchBuild -clean-ide/BatchBuild/BatchBuild: +clean-ide/BatchBuild/BatchBuild: clean-libraries/Libraries/Directory/Clean\ System\ Files/cDirectory.o cd clean-ide; \ ../../bin/clm -nt -nr -I BatchBuild -I Pm -I Unix -I Unix/Intel -I Util -I Interfaces/LinkerInterface -I ../clean-libraries/Libraries/StdLib -I ../clean-libraries/Libraries/Directory -I ../clean-libraries/Libraries/ArgEnvUnix BatchBuild -o BatchBuild/BatchBuild ../bin/cpm: clean-ide/cpm/cpm cp clean-ide/cpm/cpm ../bin/cpm -clean-ide/cpm/cpm: +clean-ide/cpm/cpm: clean-libraries/Libraries/Directory/Clean\ System\ Files/cDirectory.o cd clean-ide; \ ../../bin/clm -nt -nr -I cpm -I cpm/Posix -I BatchBuild -I Pm -I Unix -I Unix/Intel -I Util -I Interfaces/LinkerInterface -I ../clean-libraries/Libraries/StdLib -I ../clean-libraries/Libraries/Directory -I ../clean-libraries/Libraries/ArgEnvUnix Cpm -o cpm/cpm diff --git a/clean-classic/linux-x86/txt/README b/clean-classic/linux-x86/txt/README index f9b2f58277006b03ef66adf3a6e8cb230d935455..4b8ea142639693bc1711918247d38d15df14137a 100755 --- a/clean-classic/linux-x86/txt/README +++ b/clean-classic/linux-x86/txt/README @@ -2,37 +2,44 @@ Installing Clean ================ By default the Clean system is installed in the current directory. -You can override these defaults by changing INSTALL_BIN_DIR, -INSTALL_LIB_DIR, INSTALL_MAN_DIR in the Makefile. - -Clean can be used from a shell using a command line interface (clm). +You can override these defaults by changing INSTALL_BIN_DIR, INSTALL_LIB_DIR, INSTALL_MAN_DIR in the Makefile. To install the Clean system type: - % make + make Using Clean =========== -To compile Clean programs from a shell you use the command 'cpm'. +Compiling Clean programs on linux can be done using one of the following tools: + +- clm: A build tool for simple projects. All compilation options and paths to libraries are specified as command line arguments + +- cpm: A build tool that allows you to specify build configurations of programs in Clean project files (.prj). + You can use cpm to create or edit project files and build those projects. + + cpm relies on the environment variable `CLEAN_HOME` to point to where you installed Clean to find libraries and executables. + So for example if you have installed clean in '/home/myusername/clean' you should add the following exports to your .bashrc/.profile/etc + + export CLEAN_HOME=/home/myusername/clean + export PATH=$PATH:$CLEAN_HOME/bin Compiling the example programs ============================== -The directory 'examples' contains small Clean programs. The -directory contains a Makefile to compile the examples. +The directory 'examples/SmallExamples' contains small Clean programs. +The directory contains a Makefile to compile the examples. General Info ============ -More information about Clean is available on the World Wide Web: +More information about Clean is available on the website: http://clean.cs.ru.nl -Bug reports, questions and suggestions are welcome. Please send -them to: +Bug reports, questions and suggestions are welcome. Please send them to: mailto:clean@cs.ru.nl -Versions of Clean are available for several platforms. +Versions of Clean are available for several platforms.