parser/c_compiler/Makefile
changeset 37 0fbbe329c3a2
child 66 2b4f786d9073
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
+