Year 2 compilers coureswork

Makefile 551B

1234567891011121314151617181920212223242526272829
  1. OBJS = lex.yy.o C.tab.o symbol_table.o nodes.o main.o list.o
  2. SRCS = lex.yy.c C.tab.c symbol_table.c nodes.c main.c list.c
  3. CC = gcc -Wall -Wextra -Wpedantic -g
  4. all: mycc
  5. clean:
  6. rm ${OBJS}
  7. mycc: ${OBJS}
  8. ${CC} -g -o mycc ${OBJS}
  9. lex.yy.c: C.flex
  10. flex C.flex
  11. C.tab.c: C.y
  12. bison -d -t -v C.y
  13. .c.o:
  14. ${CC} -g -c $*.c
  15. depend:
  16. ${CC} -M $(SRCS) > .deps
  17. cat Makefile .deps > makefile
  18. dist: symbol_table.c nodes.c main.c Makefile C.flex C.y nodes.h token.h
  19. tar cvfz mycc.tgz symbol_table.c nodes.c main.c Makefile C.flex C.y \
  20. nodes.h token.h