# -*- makefile -*- mode for emacs
# @(#) $Id: Makefile,v 1.12 1999/04/11 23:15:49 leavens Exp $
#
# Developer's Makefile for testing Larch/C++ specs
#

CC = gcc -x c++
COPTS = -g -O -ansi -Wall -Wno-unused
CFLAGS = $(COPTS) $(DEFS)

RM = rm -f
LCPPFLAGS = -ansi
# LCPPFLAGS = -ansi --no-LSL
LSLFLAGS =
# LSLFLAGS = -lp

.SUFFIXES: .h-ckd .lsl .lsl-ckd

.h.h-ckd:
	lcpp $(LCPPFLAGS) $< 2>&1 | tee $@

.C.C-ckd:
	lcpp $(LCPPFLAGS) $< 2>&1 | tee $@

.lsl.lsl-ckd:
	lsl $(LSLFLAGS) $< 2>&1 | tee $@

.C.o:
	$(CC) $(CFLAGS) $(INCLUDES) -c $<

check: checkallspecs checkalltraits compile

checkalltraits:
	lsl $(LSLFLAGS) *.lsl

# check all Larch/C++ specs.
checkallspecs :
	lcpp $(LCPPFLAGS) *.h

compile :
	$(CC) $(CFLAGS) $(INCLUDES) -c *.C

# Clean up stuff
#
clean	:
	$(RM) *.*-ckd *.lpfrz *.o a.out core

cleanall : clean
	$(RM) *.lpscr *.lp *.lplog *~
	$(RM) -r lsl_syms_cache
