94 lines
2.7 KiB
Makefile
94 lines
2.7 KiB
Makefile
default :
|
|
@echo "Spécifiez une cible"
|
|
|
|
|
|
|
|
###########################
|
|
### NETTOYAGE ###
|
|
###########################
|
|
clean : clean_Symboles clean_Instructions clean_Lex_Yacc clean_Fonctions
|
|
@rm -f rondoudou_gcc
|
|
@rm -f output.txt
|
|
|
|
clean_Symboles:
|
|
@rm -f Tables/Symboles/*.o
|
|
@rm -f Tables/Symboles/test
|
|
|
|
clean_Instructions:
|
|
@rm -f Tables/Instructions/*.o
|
|
@rm -f Tables/Instructions/test
|
|
|
|
clean_Fonctions:
|
|
@rm -f Tables/Fonctions/*.o
|
|
@rm -f Tables/Fonctions/test
|
|
|
|
clean_Lex_Yacc:
|
|
@rm -f Lex_Yacc/as.output Lex_Yacc/as.tab.* Lex_Yacc/lex.yy.*
|
|
|
|
|
|
|
|
###########################
|
|
### COMPILATION ###
|
|
###########################
|
|
build : clean build_Symboles build_Instructions build_Lex_Yacc build_Fonctions
|
|
gcc Lex_Yacc/as.tab.o Lex_Yacc/lex.yy.o Tables/Instructions/tab_instruc.o Tables/Symboles/table_symboles.o Tables/Fonctions/tab_fonctions.o -ll -o rondoudou_gcc
|
|
|
|
build_Symboles: clean_Symboles
|
|
gcc -c Tables/Symboles/table_symboles.c -o Tables/Symboles/table_symboles.o
|
|
|
|
build_Instructions: clean_Instructions
|
|
gcc -c Tables/Instructions/tab_instruc.c -o Tables/Instructions/tab_instruc.o
|
|
|
|
build_Fonctions : clean_Fonctions
|
|
gcc -c Tables/Fonctions/tab_fonctions.c -o Tables/Fonctions/tab_fonctions.o
|
|
|
|
build_Lex_Yacc: clean_Lex_Yacc
|
|
bison -g -v -d -t -b Lex_Yacc/as Lex_Yacc/as.y
|
|
flex -o Lex_Yacc/lex.yy.c Lex_Yacc/al.lex
|
|
gcc -c Lex_Yacc/as.tab.c -o Lex_Yacc/as.tab.o
|
|
gcc -c Lex_Yacc/lex.yy.c -o Lex_Yacc/lex.yy.o
|
|
|
|
|
|
|
|
###########################
|
|
### TESTS ###
|
|
###########################
|
|
test_Symboles: build_Symboles
|
|
gcc -c Tables/Symboles/test.c -o Tables/Symboles/test.o
|
|
gcc Tables/Symboles/test.o Tables/Symboles/table_symboles.o -o Tables/Symboles/test
|
|
Tables/Symboles/test
|
|
|
|
test_Instructions: build_Instructions
|
|
gcc -c Tables/Instructions/test.c -o Tables/Instructions/test.o
|
|
gcc Tables/Instructions/test.o Tables/Instructions/tab_instruc.o -o Tables/Instructions/test
|
|
Tables/Instructions/test
|
|
|
|
test_Fonctions: build_Fonctions
|
|
gcc -c Tables/Fonctions/test.c -o Tables/Fonctions/test.o
|
|
gcc Tables/Fonctions/test.o Tables/Fonctions/tab_fonctions.o -o Tables/Fonctions/test
|
|
Tables/Fonctions/test
|
|
|
|
test: build
|
|
cat Fichiers_Tests/progC | ./rondoudou_gcc
|
|
|
|
|
|
|
|
###########################
|
|
### EDITION ###
|
|
###########################
|
|
edit_Lex_Yacc:
|
|
pluma Lex_Yacc/al.lex Lex_Yacc/as.y &
|
|
|
|
edit_Symboles:
|
|
pluma Tables/Symboles/table_symboles.c Tables/Symboles/table_symboles.h &
|
|
|
|
edit_Instructions:
|
|
pluma Tables/Instructions/tab_instruc.c Tables/Instructions/tab_instruc.h &
|
|
|
|
edit_Progs:
|
|
pluma Fichiers_Tests/progC &
|
|
|
|
edit_Fonctions :
|
|
pluma Tables/Fonctions/tab_fonctions.c Tables/Fonctions/tab_fonctions.h &
|
|
|
|
edit: edit_Lex_Yacc edit_Symboles edit_Instructions edit_Progs edit_Fonctions
|