WARN   = -W -Wall -Wcast-qual -Wcast-align 
PROF   = -DMARK -pg
DBG    = -g
OPT    = -O6
INCLUDE = -I. -I../include

CC     = gcc
CFLAGS = -pipe $(INCLUDE) $(WARN)

.SUFFIXES: .op .og .os
SRC    = counter.c priq.c list.c hist.c chunk.c
OBJ    = $(SRC:.c=.o)
GOBJ    = $(SRC:.c=.og)
POBJ    = $(SRC:.c=.op)
INC    = counter.h priq.h list.h hist.h chunk.h

.c.o:
	$(CC) $(OPT) $(CFLAGS) -c $< -o $@

.c.op:
	$(CC) $(PROF) $(CFLAGS) -c $< -o $@

.c.og:
	$(CC) -O0 $(DBG) $(CFLAGS) -c $< -o $@

all: TAGS $(OBJ) $(POBJ) $(GOBJ)

clean:
	/bin/rm -f $(OBJ) $(POBJ) $(GOBJ) TAGS

TAGS: $(SRC) $(INC)
	etags -t $(SRC) $(INC)
