
all: ../StdEnv/Clean\ System\ Files/_startup.o ../StdEnv/Clean\ System\ Files/_startupProfile.o ../StdEnv/Clean\ System\ Files/_startupTrace.o ../exe/cg ../StdEnv/Clean\ System\ Files/_system.o ../bin/patch_bin ../bin/clm clm/clms ../exe/linker ../exe/cocl ../bin/htoclean ../exe/cocl_itask ../bin/BatchBuild ../bin/cpm

../StdEnv/Clean\ System\ Files/_startup.o: RuntimeSystem/_startup.o
	cp RuntimeSystem/_startup.o ../StdEnv/Clean\ System\ Files/_startup.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.linux32_no_pic

RuntimeSystem/_startupProfile.o:
	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.linux32_no_pic

../StdEnv/Clean\ System\ Files/_system.o: ../exe/cg
	cd ../StdEnv/Clean\ System\ Files ; ../../exe/cg _system

../exe/cg: CodeGenerator/cg
	cp CodeGenerator/cg ../exe/cg

CodeGenerator/cg:
	cd CodeGenerator; \
	$(MAKE) -f Makefile.linux

../bin/patch_bin: clm/patch_bin
	cp clm/patch_bin ../bin/patch_bin

clm/patch_bin:
	cd clm; \
	$(MAKE) -f Makefile.linux patch_bin

../bin/clm: clm/clm
	cp clm/clm ../bin/clm
	../bin/patch_bin ../bin/clm CLEANLIB $(CWD)/../exe
	../bin/patch_bin ../bin/clm CLEANPATH $(CWD)/../StdEnv

clm/clm:
	cd clm; \
	$(MAKE) -f Makefile.linux clm

clm/clms:
	cd clm; \
	$(MAKE) -f Makefile.linux clms
	../bin/patch_bin clm/clms CLEANLIB $(CWD)/../exe
	../bin/patch_bin clm/clms CLEANPATH $(CWD)/../StdEnv

clean-libraries/Libraries/ArgEnvUnix/ArgEnvC.o:
	cd clean-libraries/Libraries/ArgEnvUnix; make -f Makefile_32_no_pic ArgEnvC.o

clean-libraries/Libraries/Directory/Clean\ System\ Files/cDirectory.o:
	cd clean-libraries/Libraries/Directory/Clean\ System\ Files\ Unix; gcc -m32 -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 -f Makefile_32_no_pie all

../exe/linker: elf_linker/linker
	cp elf_linker/linker ../exe/linker

elf_linker/linker: clean-libraries/Libraries/ArgEnvUnix/ArgEnvC.o compiler/main/Unix/set_return_code_c.o
	cd elf_linker; \
	../clm/clms -I ia32 -I ../clean-libraries/Libraries/ArgEnvUnix -I ../compiler/main/Unix -s 4m -h 30m -nt -nr linker -o linker; \
	cp linker ../../exe/linker; \
	../../bin/clm -I ia32 -I ../clean-libraries/Libraries/ArgEnvUnix -I ../compiler/main/Unix -s 4m -h 30m -nt -nr linker -o linker

../exe/cocl: compiler/cocl
	cp compiler/cocl ../exe/cocl

compiler/cocl: clean-libraries/Libraries/ArgEnvUnix/ArgEnvC.o compiler/main/Unix/set_return_code_c.o
	cd compiler; \
	cd backendC/CleanCompilerSources; make -f Makefile; cd ../..; \
	../../bin/clm -O _system; \
	../../bin/clm -nt -nw -ci -ns -nr -I backend -I frontend -I main -I main/Unix -O compare_constructor ; \
	../../bin/clm -gcm -h 40M -nt -nw -ci -nr -I backend -I frontend -I main -I main/Unix \
	-I ../clean-libraries/Libraries/ArgEnvUnix \
	-l backendC/CleanCompilerSources/backend.a \
	cocl -o cocl

compiler_itask/cocl: clean-libraries/Libraries/ArgEnvUnix/ArgEnvC.o compiler/main/Unix/set_return_code_c.o
	cd compiler_itask; \
	cd backendC/CleanCompilerSources; make -f Makefile; cd ../..; \
	cd main/Unix; make -f Makefile_32_no_pie all; cd ../..; \
	../../bin/clm -ci -I backend -I frontend -I main -I main/Unix -ABC -fusion backendconert; \
	../../bin/clm -gcm -h 40M -s 2m -nt -nw -ci -nr -I backend -I frontend -I main -I main/Unix \
	-I ../clean-libraries/Libraries/ArgEnvUnix \
	-l backendC/CleanCompilerSources/backend.a \
	-l -m32 \
	cocl -o cocl

../exe/cocl_itask: compiler_itask/cocl
	cp compiler_itask/cocl ../exe/cocl_itask

../bin/htoclean: tools/htoclean/htoclean
	cp tools/htoclean/htoclean ../bin/htoclean

tools/htoclean/htoclean:
	cd tools/htoclean/htoclean\ source\ code; \
	../../../../bin/clm -I ../../../clean-libraries/Libraries/ArgEnvUnix -h 4m -nt -nr -I unix htoclean -o ../htoclean

../bin/BatchBuild: clean-ide/BatchBuild/BatchBuild
	cp clean-ide/BatchBuild/BatchBuild ../bin/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-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

CWD = $(MCWD)$(GMCWD)
MCWD : sh=pwd
GMCWD = ${shell echo `pwd`}

