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

../StdEnv/Clean\ System\ Files/_startupProfile.o: RuntimeSystem/linux64Profile/_startupProfile.o
	cp RuntimeSystem/linux64Profile/_startupProfile.o ../StdEnv/Clean\ System\ Files/_startupProfile.o

../StdEnv/Clean\ System\ Files/_startupTrace.o: RuntimeSystem/linux64Trace/_startupTrace.o
	cp RuntimeSystem/linux64Trace/_startupTrace.o ../StdEnv/Clean\ System\ Files/_startupTrace.o

RuntimeSystem/linux64/_startup.o:
	cd RuntimeSystem ; ./remove_tmp_files_linux ; ./make_astartup.csh

RuntimeSystem/linux64Profile/_startupProfile.o:
	cd RuntimeSystem ; ./remove_tmp_files_linux ; ./make_astartupProfile.csh

RuntimeSystem/linux64Trace/_startupTrace.o:
	cd RuntimeSystem ; ./remove_tmp_files_linux ; ./make_astartupTrace.csh

../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.linux64

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

clm/patch_bin:
	cd clm; \
	$(MAKE) -f Makefile.linux64 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.linux64 clm

clm/clms:
	cd clm; \
	$(MAKE) -f Makefile.linux64 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 ArgEnvC.o

compiler/main/Unix/set_return_code_c.o:
	cd compiler/main/Unix; make 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 ai64 -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 ai64 -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.linux64;  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:
	cd compiler_itask; \
	cd backendC/CleanCompilerSources; make -f Makefile.linux64; cd ../..; \
	cd main/Unix; make -f Makefile all; cd ../..; \
	../../bin/clm -ABC -nw -ci -I backend -I frontend -I main -I main/Unix -I ../clean-libraries/Libraries/ArgEnvUnix backendconvert; \
	../../bin/clm -ci -I backend -I frontend -I main -I main/Unix -ABC -fusion backendconvert; \
	../../bin/clm -gcm -h 256M -s 16m -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

../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 -l ../../../clean-libraries/Libraries/ArgEnvUnix/ArgEnvC.o -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:
	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:
	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`}
