SOURCE=null QUOI=null default: @echo "Specifiez une cible [projet|clean|exec]" projet: $(MAKE) -C Compilateur build $(MAKE) -C CrossAssembleur build clean: $(MAKE) -C Compilateur clean $(MAKE) -C CrossAssembleur clean exec: ifeq ($(SOURCE),null) @echo "USAGE : make exec SOURCE=\"file_name\" QUOI=\"[compile|cross_asm|load|all]\"" else ifeq ($(QUOI),null) @echo "USAGE : make exec SOURCE=\"file_name\" QUOI=\"[compile|cross_asm|load|all]\"" else ifeq ($(QUOI),compile) @echo "Compilation" cat $(SOURCE).c | Compilateur/rondoudou_gcc @mv output.txt $(SOURCE).memasm @echo "Compilation terminée" else ifeq ($(QUOI),cross_asm) @echo "CrossAssemblage" cat $(SOURCE).memasm | CrossAssembleur/rondoudou_cross_assembleur @mv output.asm $(SOURCE).regasm @mv output.bin $(SOURCE).bin @echo "CrossAssemblage terminé" else ifeq ($(QUOI),load) @echo "Chargement du binaire" @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 "Chargement du binaire terminé" else ifeq ($(QUOI),all) @echo "Compilation" cat $(SOURCE).c | Compilateur/rondoudou_gcc @mv output.txt $(SOURCE).memasm @echo "Compilation terminée" @echo "CrossAssemblage" cat $(SOURCE).memasm | CrossAssembleur/rondoudou_cross_assembleur @mv output.asm $(SOURCE).regasm @mv output.bin $(SOURCE).bin @echo "CrossAssemblage terminé" @echo "Chargement du binaire" @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 "Chargement du binaire terminé" else @echo "USAGE : make exec SOURCE=\"file_name\" QUOI=\"[compile|cross_asm|load|all]\"" endif endif