# $Header: /afs/alw.nih.gov/unix/sun4_40c/usr/local/src/nihcl-3.0/share/test/RCS/MAKEFILE,v 3.0 90/05/20 21:03:44 kgorlen Rel $
# C++ compiler
CC = CC

# C++ debug switch
#CCDEBUG =
CCDEBUG = -g

# C++ flags
# NOTE: Disable +p option when compiling with AT&T R2.1
CCFLAGS = +p
#CCFLAGS =

# C++ include files
I = /usr/include/CC

# If using BSD
SYS = BSD
# If using System V
#SYS = SYSV

# Compile with nested types (works with AT&T R2.1 and GNU C++)
NESTED_TYPES =
#NESTED_TYPES = -DNESTED_TYPES

# Disable AT&T R2.0/R2.1 bug work-around code
BUGDEFS =
#BUGDEFS = -DBUG_bC2728 -DBUG_38 -DBUG_39 -DBUG_OPTYPECONST
# Defining BUG_TOOBIG disables code that prevents C compiler "yacc stack overflows"
#BUGDEFS = -DBUG_bC2728 -DBUG_38 -DBUG_39 -DBUG_OPTYPECONST -DBUG_TOOBIG

# Enable debug code
DEBUGDEFS =
#DEBUGDEFS = -DDEBUG_OBJIO -DDEBUG_PROCESS

# For no multiple inheritance support
MI =
# Enable support for multiple inheritance
#MI = -DMI

NIHCLINC = ../lib
NIHCLLIB = ../lib/libnihcl.a

CFLAGS = -I${NIHCLINC} ${MI} ${CCDEBUG} ${CCFLAGS} ${NESTED_TYPES} ${BUGDEFS} ${DEBUGDEFS}
LFLAGS = ${NIHCLLIB} ${CCDEBUG}

PROGS = array arraychar bag bitboard bitset class date dep dict error except fc fdset fraction heap iddictio identdict identset iterator keysortcltn linkedlist object oio orderedcltn point process random range rectangle regex seqcltn sets sortedcltn stack stackproc string substring tim

.SUFFIXES: .s
.c:
	${CC} ${CFLAGS} $< -o $* ${LFLAGS}
.c.o:
	${CC} ${CFLAGS} -c $<
.c.s:
	${CC} ${CFLAGS} +i -S $<

programs:
	for i in ${PROGS}; do \
		(${MAKE} -f MAKEPROG ${MFLAGS} CC=${CC} MI=${MI} I=${I} NIHCLINC=${NIHCLINC} NIHCLLIB=${NIHCLLIB} CFLAGS="${CFLAGS}" LFLAGS="${LFLAGS}" P=$$i); done

install:

clean:
	-rm -f *.o ${PROGS} *..c *.s core
