123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- SOURCE=null
- WHAT=null
-
- default:
- @echo "Specify target [secure|unsecure|build|exec|exec_secure|exec_unsecure|clean]"
-
-
-
-
- secure:
- @sed -i 's/#define SECURED (0)/#define SECURED (1)/g' Interpreteur/Tables/tables.c InterpreteurRegistres/Tables/tables.c Compilateur/Lex_Yacc/as.y
- @sed -i 's/constant SECURED : boolean := false;/constant SECURED : boolean := true;/g' Processeur/Processeur.srcs/sources_1/new/System.vhd
-
-
-
-
- unsecure:
- @sed -i 's/#define SECURED (1)/#define SECURED (0)/g' Interpreteur/Tables/tables.c InterpreteurRegistres/Tables/tables.c Compilateur/Lex_Yacc/as.y
- @sed -i 's/constant SECURED : boolean := true;/constant SECURED : boolean := false;/g' Processeur/Processeur.srcs/sources_1/new/System.vhd
-
-
-
-
- build:
- ifeq ($(WHAT),null)
- @echo "USAGE : make build WHAT=\"[compiler|interpreter|interpreter_registers|cross_assembler|all]\""
- else
- ifeq ($(WHAT),compiler)
- @echo "Building compiler"
- $(MAKE) -C Compilateur build
- @echo "Compiler built"
- else ifeq ($(WHAT),cross_assembler)
- @echo "Building CrossAssembler"
- $(MAKE) -C CrossAssembleur build
- @echo "CrossAssembler built"
- else ifeq ($(WHAT),interpreter)
- @echo "Building interpreter"
- $(MAKE) -C Interpreteur build
- @echo "Interpreter built"
- else ifeq ($(WHAT),interpreter_registers)
- @echo "Building interpreter_registers"
- $(MAKE) -C InterpreteurRegistres build
- @echo "Interpreter_registers built"
- else ifeq ($(WHAT),all)
- @echo "Building compiler"
- $(MAKE) -C Compilateur build
- @echo "Compiler built"
- @echo "Building interpreter"
- $(MAKE) -C Interpreteur build
- @echo "Interpreter built"
- @echo "Building CrossAssembler"
- $(MAKE) -C CrossAssembleur build
- @echo "CrossAssembler built"
- @echo "Building interpreter_registers"
- $(MAKE) -C InterpreteurRegistres build
- @echo "Interpreter_registers built"
- else
- @echo "USAGE : make build WHAT=\"[compiler|interpreter|interpreter_registers|cross_assembler|all]\""
- endif
- endif
-
- clean:
- $(MAKE) -C Compilateur clean
- $(MAKE) -C Interpreteur clean
- $(MAKE) -C InterpreteurRegistres clean
- $(MAKE) -C CrossAssembleur clean
- @rm -f ./*.memasm ./*.regasm ./*.bin
-
-
-
-
- exec_secure: secure compile exec
-
- exec_unsecure: unsecure compile exec
-
-
-
- exec:
- ifeq ($(SOURCE),null)
- @echo "USAGE : make exec SOURCE=\"file_name\" WHAT=\"[compile|interprete|interprete_registers|cross_assemble|load|all]\""
- else
- ifeq ($(WHAT),null)
- @echo "USAGE : make exec SOURCE=\"file_name\" WHAT=\"[compile|interprete|interprete_registers|cross_assemble|load|all]\""
- else
- ifeq ($(WHAT),compile)
- @echo "Building program"
- cat $(SOURCE).c | Compilateur/compiler
- @mv output.txt $(SOURCE).memasm
- @echo "Program built"
- else ifeq ($(WHAT),interprete)
- @echo "Interpreting program"
- Interpreteur/interpreter $(SOURCE).memasm
- @echo "Program interpreted"
- else ifeq ($(WHAT),interprete_registers)
- @echo "Interpreting registers program"
- InterpreteurRegistres/interpreter_registers $(SOURCE).regasm
- @echo "Registers program interpreted"
- else ifeq ($(WHAT),cross_assemble)
- @echo "CrossAssembling program"
- cat $(SOURCE).memasm | CrossAssembleur/cross_assembler
- @mv output.asm $(SOURCE).regasm
- @mv output.bin $(SOURCE).bin
- @echo "Program CrossAssembled"
- else ifeq ($(WHAT),load)
- @echo "Loading binairy program"
- @sed -r "s/signal MEMORY : STD_LOGIC_VECTOR \(\(Mem_Size \* Nb_bits\)-1 downto 0\) := \"[01]*\";/signal MEMORY : STD_LOGIC_VECTOR \(\(Mem_Size \* Nb_bits\)-1 downto 0\) := $$(cat $(SOURCE).bin);/g" Processeur/Processeur.srcs/sources_1/new/MemoireInstructions.vhd > $(SOURCE).tmp.vhd
- @mv $(SOURCE).tmp.vhd Processeur/Processeur.srcs/sources_1/new/MemoireInstructions.vhd
- @echo "Binairy program loaded"
- else ifeq ($(WHAT),all)
- @echo "Building program"
- cat $(SOURCE).c | Compilateur/compiler
- @mv output.txt $(SOURCE).memasm
- @echo "Program built"
- @echo "CrossAssembling program"
- cat $(SOURCE).memasm | CrossAssembleur/cross_assembler
- @mv output.asm $(SOURCE).regasm
- @mv output.bin $(SOURCE).bin
- @echo "Program CrossAssembled"
- @echo "Loading binairy program"
- @sed -r "s/signal MEMORY : STD_LOGIC_VECTOR \(\(Mem_Size \* Nb_bits\)-1 downto 0\) := \"[01]*\";/signal MEMORY : STD_LOGIC_VECTOR \(\(Mem_Size \* Nb_bits\)-1 downto 0\) := $$(cat $(SOURCE).bin);/g" Processeur/Processeur.srcs/sources_1/new/MemoireInstructions.vhd > $(SOURCE).tmp.vhd
- @mv $(SOURCE).tmp.vhd Processeur/Processeur.srcs/sources_1/new/MemoireInstructions.vhd
- @echo "Binairy program loaded"
- else
- @echo "USAGE : make exec SOURCE=\"file_name\" WHAT=\"[compile|interprete|interprete_registers|cross_assemble|load|all]\""
- endif
- endif
- endif
-
|