[prev] [index] [next]

Example Makefile #2

Sample Makefile for a simple compiler:

CC     = gcc
CFLAGS = -Wall -g
OBJS   = main.o lex.o parse.o codegen.o

mycc : $(OBJS)
        $(CC) -o mycc $(OBJS)

main.o : main.c mycc.h lex.h parse.h codegen.h
        $(CC) $(CFLAGS) -c main.c

lex.o : lex.c mycc.h lex.h
        $(CC) $(CFLAGS) -c lex.c

parse.o : parse.c mycc.h parse.h lex.h
codegen.o : codegen.h mycc.h codegen.h parse.h

clean :
        rm -f mycc $(OBJS) core