diff --git a/parser/c_compiler/Makefile b/parser/c_compiler/Makefile new file mode 100644 --- /dev/null +++ b/parser/c_compiler/Makefile @@ -0,0 +1,46 @@ +CC=gcc +LD=ld +YACC=bison -v +FLEX=flex +CFLAGS=-Wall -O2 -ansi -D_XOPEN_SOURCE=500 +LDFLAGS= +INCLUDE=include +OBJECTS=main.o parser.o lexer.o +TARGET=mcc + +.SUFFIXES: .c .y .l + +.c.o: + $(CC) -c $(CFLAGS) -I$(INCLUDE) $(CONFIG) $< + +.y.c: + $(YACC) -d $< -o $@ + +.l.c: + $(FLEX) -o $@ $< + +all: $(TARGET) + + +$(TARGET): $(OBJECTS) + $(CC) $(CFLAGS) $(LDFLAGS) $(OBJECTS) -o $@ + +.PHONY: distclean clean indent + +clean: + rm -f *.[oae]; + rm -f *~; + +distclean: + make clean + rm -f $(TARGET) + rm -f parser.h + rm -f parser.output + +indent: + indent *.c *.h + eraser *.c *.h + +install: $(TARGET) + [[ -x ~/bin/ ]] && cp -f $(TARGET) ~/bin +