No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Makefile 2.1KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. SOURCE=null
  2. QUOI=null
  3. default:
  4. @echo "Specifiez une cible [projet|clean|exec]"
  5. projet:
  6. $(MAKE) -C Compilateur build
  7. $(MAKE) -C CrossAssembleur build
  8. clean:
  9. $(MAKE) -C Compilateur clean
  10. $(MAKE) -C CrossAssembleur clean
  11. exec:
  12. ifeq ($(SOURCE),null)
  13. @echo "USAGE : make exec SOURCE=\"file_name\" QUOI=\"[compile|cross_asm|load|all]\""
  14. else ifeq ($(QUOI),null)
  15. @echo "USAGE : make exec SOURCE=\"file_name\" QUOI=\"[compile|cross_asm|load|all]\""
  16. else
  17. ifeq ($(QUOI),compile)
  18. @echo "Compilation"
  19. cat $(SOURCE).c | Compilateur/rondoudou_gcc
  20. @mv output.txt $(SOURCE).memasm
  21. @echo "Compilation terminée"
  22. else ifeq ($(QUOI),cross_asm)
  23. @echo "CrossAssemblage"
  24. cat $(SOURCE).memasm | CrossAssembleur/rondoudou_cross_assembleur
  25. @mv output.asm $(SOURCE).regasm
  26. @mv output.bin $(SOURCE).bin
  27. @echo "CrossAssemblage terminé"
  28. else ifeq ($(QUOI),load)
  29. @echo "Chargement du binaire"
  30. @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
  31. @mv $(SOURCE).tmp.vhd Processeur/Processeur.srcs/sources_1/new/MemoireInstructions.vhd
  32. @echo "Chargement du binaire terminé"
  33. else ifeq ($(QUOI),all)
  34. @echo "Compilation"
  35. cat $(SOURCE).c | Compilateur/rondoudou_gcc
  36. @mv output.txt $(SOURCE).memasm
  37. @echo "Compilation terminée"
  38. @echo "CrossAssemblage"
  39. cat $(SOURCE).memasm | CrossAssembleur/rondoudou_cross_assembleur
  40. @mv output.asm $(SOURCE).regasm
  41. @mv output.bin $(SOURCE).bin
  42. @echo "CrossAssemblage terminé"
  43. @echo "Chargement du binaire"
  44. @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
  45. @mv $(SOURCE).tmp.vhd Processeur/Processeur.srcs/sources_1/new/MemoireInstructions.vhd
  46. @echo "Chargement du binaire terminé"
  47. else
  48. @echo "USAGE : make exec SOURCE=\"file_name\" QUOI=\"[compile|cross_asm|load|all]\""
  49. endif
  50. endif