CC = gcc
CCLD = $(CC)
CFLAGS = -Wall -O2 -g
CPPFLAGS =
INCLUDES =
LDFLAGS =

all: compile scan

compile: compile.o tags.o merge.o translate.o globals.o effwrite.o
	$(CCLD) $(CFLAGS) $(LDFLAGS) $^ -o $@

scan: scan.o globals.o effread.o
	$(CCLD) $(CFLAGS) $(LDFLAGS) $^ -o $@

%.o: %.c globals.h
	$(CC) $(CFLAGS) $(CPPFLAGS) $(INCLUDES) -c $< -o $@

effread.o effwrite.o tags.o compile.o scan.o: eff.h
tags.o compile.o: tags.h
merge.o compile.o: merge.h
translate.o merge.o compile.o: statetable.h
translate.o compile.o: translate.h

clean:
	rm -f *.o scan compile

.PHONY: all clean
