.SUFFIXES:
.SUFFIXES: .c .o .y .l

CC = gcc
MKDEP = gcc -MM $(CFLAGS)
CFLAGS = -g -Wall -I/usr/local/include
LDFLAGS = -L/usr/local/lib -L/usr/X11R6/lib
LIBS = -lgtk -lgdk -lglib -lX11 -lXext -lm
PROGRAM = gtkinterp

SRCS = \
	init.c		\
	interp.c	\
	slib.c		\
	sliba.c		\
	trace.c

OBJS = $(SRCS:.c=.o)
DEPS = $(SRCS:.c=.P)
DEPS := $(foreach file, $(DEPS), .deps/$(file))

all: $(PROGRAM)

$(PROGRAM): $(OBJS)
	$(CC) -o $@ $(OBJS) $(LDFLAGS) $(LIBS)

clean:
	rm -f $(PROGRAM) $(OBJS)

.PHONY: test.i clean

.deps:
	mkdir .deps

.deps/%.P: %.c
	@if ! test -d .deps; then               \
	  mkdir .deps;                          \
	fi
	@echo mkdeps $<
	@$(MKDEP) $< > $@-tmp
	@if test -n "$o"; then                  \
	  sed 's/\.o:/$$o:/' $@-tmp > @@;       \
	  rm $@-tmp;                            \
	else                                    \
	  mv $@-tmp $@;                         \
	fi

-include $(DEPS)
