CC = gcc RM = /bin/rm CFLAGS = -pipe -Wall HEADERS = puzzle.h BINARY = puzzle ifdef DBG PROFILE += -g -O -DDEBUG -DDBG else PROFILE += -O3 endif # # ---> .o, not .c! <--- # OBJS = puzzle.o .SUFFIXES: .c .o all: $(BINARY) $(BINARY): $(OBJS) $(CC) $(PROFILE) -o $(BINARY) -Wall $(OBJS) %.o: %.c $(HEADERS) $(CC) $(CFLAGS) $(PROFILE) -c $< -o $@ clean: $(RM) -f *.core *~ *.gmon \#*\# $(OBJS) $(BINARY)