# -*- makefile -*- mode for emacs

CC = gcc -x c++
COPTS = -g -O -ansi -Wall -Wno-unused
CFLAGS = $(COPTS) $(DEFS)

RM = rm -f
LCPPFLAGS = -ansi

.SUFFIXES: .lsl .lsl-ckd .h-ckd

.h.h-ckd:
	lcpp $(LCPPFLAGS) $< 2>&1 | tee $@

.lsl.lsl-ckd:
	lsl $(LSLFLAGS) $< 2>&1 | tee $@

.cpp.o .C.o:
	$(CC) $(CFLAGS) $(INCLUDES) -c $<

compile:
	$(CC) $(CFLAGS) $(INCLUDES) -c *.cpp

check: checkallspecs checkalltraits

# check all Larch/C++ specs.
checkallspecs :
	lcpp $(LCPPFLAGS) *.h

checkalltraits:
	lsl $(LSLFLAGS) *.lsl

# Clean up stuff
#
clean	:
	$(RM) *.*-ckd *.lpfrz *.o a.out core

cleanall: clean
	$(RM) *.lpscr *.lp *.lplog *~
	$(RM) -r lsl_syms_cache
