head     3.0;
branch   ;
access   ;
symbols  ;
locks    ; strict;
comment  @# @;


3.0
date     90.05.22.22.58.11;  author kgorlen;  state Rel;
branches ;
next     2.206;

2.206
date     90.05.15.23.04.14;  author kgorlen;  state Stab;
branches ;
next     2.204;

2.204
date     89.10.08.15.04.57;  author keith;  state Stab;
branches ;
next     2.203;

2.203
date     89.08.23.10.04.35;  author keith;  state Stab;
branches 2.203.1.1;
next     ;

2.203.1.1
date     89.09.14.21.36.34;  author keith;  state Exp;
branches ;
next     ;


desc
@NIH Class Library Master Makefile
@


3.0
log
@Release for 1st edition.
@
text
@# $Header: /afs/alw.nih.gov/unix/sun4_40c/usr/local/src/nihcl-3.0/share/RCS/Makefile,v 3.0 90/05/22 17:23:25 kgorlen Rel $
#
# Make Targets:
#
#	errorfacility	Make and install error handling facility
#	all		Make all non-MI class libraries and test suites (default)
#	mi		Make all class libraries and test suites with support for multiple inheritance enabled
#	verify		Run all verification test suites
#	install		Install class libraries and header files in target directories
#	examples	Make example programs for book
#	exverify	Verify example programs
#	cleantest	Remove generated files from test suites
#	clean		Remove all generated files

# 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

# Flags for ln
#LNFLAGS =
LNFLAGS = -s

# If using "patch"
MAIN = _main.c_p
# If using "munch"
#MAIN = _main.c_m

# Target library for installation of Error Facility
LIB_ID = libC

# Target Directories for Installation

# directory for libnihcl.a
NIHCLLIBDIR = /usr/local/lib
# directory for NIHCL include files
NIHCLINCDIR = /usr/include/nihcl
# directory where ${LIB_ID}.a resides
CLIBDIR = /usr/local/lib/C++R2.0
# directory for errgen utility
ERRGENDIR = /usr/local/bin
# directory for errgen table file
ERRTABDIR = /usr/local/lib
# directory for errlib.h and errors.h
ERRINCDIR = $I

##########################################################
# You normally will not need to edit anything after this #
##########################################################

# Other directories
ERRFAC = errfac
CLASSES = lib
TEST = test
VECTOR = vector
VECTEST = vectest
EX = ex
SUBDIRS = ${ERRFAC} ${CLASSES} ${TEST} ${VECTOR} ${VECTEST} ${EX}
COMMONFLAGS = CC=${CC} CCDEBUG=${CCDEBUG} CCFLAGS="${CCFLAGS}" I=$I SYS=${SYS} NESTED_TYPES=${NESTED_TYPES} BUGDEFS="${BUGDEFS}" DEBUGDEFS="${DEBUGDEFS}"
 
all: nihclclasses nihcltest vectorclasses vectortest

mi: nihclmiclasses nihclmitest vectormiclasses vectormitest

errorfacility:
	cd ${ERRFAC}; \
		${MAKE} -f MAKEFILE ${MFLAGS} ${COMMONFLAGS}; \
		${MAKE} -f MAKEFILE ${MFLAGS} install ${COMMONFLAGS} \
		ERRGENDIR=${ERRGENDIR} ERRTABDIR=${ERRTABDIR} ERRINCDIR=${ERRINCDIR} \
		CLIBDIR=${CLIBDIR} LIB_ID=${LIB_ID}

nihclclasses:
	cd ${CLASSES}; ${MAKE} -f MAKEFILE ${MFLAGS} \
		${COMMONFLAGS} MAIN=${MAIN} LNFLAGS=${LNFLAGS}

nihcltest:
	cd ${TEST}; ${MAKE} -f MAKEFILE ${MFLAGS} \
		${COMMONFLAGS}

vectorclasses:
	cd ${VECTOR}; ${MAKE} -f MAKEFILE ${MFLAGS} ${COMMONFLAGS} generic
	cd ${VECTOR}; ${MAKE} -f MAKEFILE ${MFLAGS} ${COMMONFLAGS}

vectortest:
	cd ${VECTEST}; ${MAKE} -f MAKEFILE ${MFLAGS} ${COMMONFLAGS}

nihclmiclasses:
	cd ${CLASSES}; ${MAKE} -f MAKEFILE ${MFLAGS} \
		${COMMONFLAGS} MAIN=${MAIN} LNFLAGS=${LNFLAGS} \
		MI=-DMI NIHCLLIB=libnihclmi.a

nihclmitest:
	cd ${TEST}; ${MAKE} -f MAKEFILE ${MFLAGS} ${COMMONFLAGS} \
		MI=-DMI NIHCLLIB=../lib/libnihclmi.a

vectormiclasses:
	cd ${VECTOR}; ${MAKE} -f MAKEFILE ${MFLAGS} ${COMMONFLAGS} \
		MI=-DMI NIHVECLIB=nihclvecmi.a generic
	cd ${VECTOR}; ${MAKE} -f MAKEFILE ${MFLAGS} ${COMMONFLAGS} \
		MI=-DMI NIHVECLIB=nihclvecmi.a

vectormitest:
	cd ${VECTEST}; ${MAKE} -f MAKEFILE ${MFLAGS} ${COMMONFLAGS} \
		MI=-DMI NIHCLLIB=../lib/libnihclmi.a NIHVECLIB=../vector/nihclvecmi.a

verify:
	cd ${TEST}; verify
	cd  ${VECTEST}; verify

install:
	for i in ${CLASSES} ${VECTOR}; do \
		(echo $$i; cd $$i; ${MAKE} -f MAKEFILE ${MFLAGS} install \
		NIHCLLIBDIR=${NIHCLLIBDIR} NIHCLINCDIR=${NIHCLINCDIR} \
		); done

examples:
	cd ${EX}; ${MAKE} -f MAKEFILE ${MFLAGS} ${COMMONFLAGS}

exverify:
	cd ${EX}; verify

cleantest:
	cd test; make -f MAKEFILE clean
	cd vectest; make -f MAKEFILE clean

clean:
	for i in ${SUBDIRS}; do \
		(echo $$i; cd $$i; ${MAKE} -f MAKEFILE ${MFLAGS} clean); done

newdistribution:
	-mkdir new-distribution
	rm -rf share/Xfiles
	echo ./RCS >>Xfiles
	cd share; for i in ${SUBDIRS} doc info; do \
		echo ./$$i/RCS >>Xfiles; \
		echo ./$$i/attic >>Xfiles; \
		echo ./$$i/core >>Xfiles; \
	done
	cd share; tar cfX - Xfiles .  | (cd ../new-distribution;tar xvf -)
	(cd new-distribution; make clean; rm -r Xfiles; cd ..)

tape:
	tar cvf /dev/rmt0 -C distribution .

cpiotape:
	find distribution -depth -print | cpio -ocv >/dev/rmt0

cartridge:
	tar cvf /dev/rst0 -C distribution .
@


2.206
log
@Eliminate NIHCLSRCDIR.
@
text
@d1 13
a13 7
# $Header: /nih/dcrt/kgorlen/nihcl/share/RCS/Makefile,v 2.206 90/05/14 23:20:48 kgorlen Stab $
CC = CC				# C++ compiler
CCDEBUG =			# C++ debug switch
CCFLAGS = +p			# C++ flags
I = /usr/include/CC		# C++ include files
LIB_ID = libC			# Error Facility library
LNFLAGS = -s			# flags for ln
d15 2
a16 2
SYS = BSD			# if using BSD
#SYS = SYSV			# if using System V
d18 3
a20 2
MAIN = _main.c_p		# if using "patch"
#MAIN = _main.c_m		# if using "munch"
d22 39
a61 6
NIHCLLIBDIR = /usr/local/lib		# directory for libnihcl.a
NIHCLINCDIR = /usr/include/nihcl	# directory for NIHCL include files
CLIBDIR = /usr/local/lib/C++R2.0	# directory where ${LIB_ID}.a resides
ERRGENDIR = /usr/local/bin		# directory for errgen utility
ERRTABDIR = /usr/local/lib		# directory for errgen table file
ERRINCDIR = $I				# directory for errlib.h and errors.h
d63 17
d88 1
d96 2
a97 4
		${MAKE} -f MAKEFILE ${MFLAGS} \
		CC=${CC} CCDEBUG=${CCDEBUG} CCFLAGS=${CCFLAGS} I=$I SYS=${SYS}; \
		${MAKE} -f MAKEFILE ${MFLAGS} install \
		CC=${CC} CCDEBUG=${CCDEBUG} CCFLAGS=${CCFLAGS} I=$I SYS=${SYS} \
d103 1
a103 1
		CC=${CC} CCDEBUG=${CCDEBUG} CCFLAGS=${CCFLAGS} I=$I SYS=${SYS} MAIN=${MAIN} LNFLAGS=${LNFLAGS}
d107 1
a107 1
		CC=${CC} CCDEBUG=${CCDEBUG} CCFLAGS=${CCFLAGS} I=$I SYS=${SYS}
d110 2
a111 6
	cd ${VECTOR}; ${MAKE} -f MAKEFILE ${MFLAGS} \
		CC=${CC} CCDEBUG=${CCDEBUG} CCFLAGS=${CCFLAGS} I=$I SYS=${SYS} \
		NIHCLLIB=../lib/libnihclmi.a generic
	cd ${VECTOR}; ${MAKE} -f MAKEFILE ${MFLAGS} \
		CC=${CC} CCDEBUG=${CCDEBUG} CCFLAGS=${CCFLAGS} I=$I SYS=${SYS} \
		NIHCLLIB=../lib/libnihclmi.a
d114 1
a114 2
	cd ${VECTEST}; ${MAKE} -f MAKEFILE ${MFLAGS} \
		CC=${CC} CCDEBUG=${CCDEBUG} CCFLAGS=${CCFLAGS} I=$I SYS=${SYS}
d118 1
a118 1
		CC=${CC} CCDEBUG=${CCDEBUG} CCFLAGS=${CCFLAGS} I=$I SYS=${SYS} MAIN=${MAIN} LNFLAGS=${LNFLAGS} \
d122 1
a122 2
	cd ${TEST}; ${MAKE} -f MAKEFILE ${MFLAGS} \
		CC=${CC} CCDEBUG=${CCDEBUG} CCFLAGS=${CCFLAGS} I=$I SYS=${SYS} \
d126 1
a126 2
	cd ${VECTOR}; ${MAKE} -f MAKEFILE ${MFLAGS} \
		CC=${CC} CCDEBUG=${CCDEBUG} CCFLAGS=${CCFLAGS} I=$I SYS=${SYS} \
d128 1
a128 2
	cd ${VECTOR}; ${MAKE} -f MAKEFILE ${MFLAGS} \
		CC=${CC} CCDEBUG=${CCDEBUG} CCFLAGS=${CCFLAGS} I=$I SYS=${SYS} \
d132 1
a132 2
	cd ${VECTEST}; ${MAKE} -f MAKEFILE ${MFLAGS} \
		CC=${CC} CCDEBUG=${CCDEBUG} CCFLAGS=${CCFLAGS} I=$I SYS=${SYS} \
d146 1
a146 2
	cd ${EX}; ${MAKE} -f MAKEFILE ${MFLAGS} \
		CC=${CC} CCDEBUG=${CCDEBUG} CCFLAGS=${CCFLAGS} I=$I SYS=${SYS}
d162 2
a163 1
	cd share; for i in ${SUBDIRS}; do \
d167 1
a167 4
		echo ./$$i/*.~ >>Xfiles; \
		echo ./$$i/*.BAK >>Xfiles; \
		echo ./$$i/*.o >>Xfiles; \
		echo ./$$i/*.a >>Xfiles; done
d169 1
a169 4
	(cd new-distribution; make clean; cd ..)
#	(cd new-distribution/RCS; chmod u+w *; cd ..; rm -r RCS)
#	for i in ${SUBDIRS}; do \
#	(cd new-distribution/$$i/RCS; chmod u+w *; cd ..; rm -r RCS); done
@


2.204
log
@Pre-release
@
text
@d1 1
a1 1
# $Header: Makefile,v 2.203.1.1 89/09/14 21:36:34 keith Exp $
d4 1
d7 1
d9 6
d16 1
a16 1
NIHCLLIBDIR = /usr/lib			# directory for libnihcl.a
a17 1
NIHCLSRCDIR = /usr/local/src/nihcl	# directory for NIHCL source files
d21 1
d39 1
a39 1
		CC=${CC} CCDEBUG=${CCDEBUG} I=${I}; \
d41 2
a42 2
		CC=${CC} CCDEBUG=${CCDEBUG} I=${I} \
		ERRGENDIR=${ERRGENDIR} ERRTABDIR=${ERRTABDIR} \
d47 1
a47 1
		CC=${CC} CCDEBUG=${CCDEBUG} I=${I}
d51 1
a51 1
		CC=${CC} CCDEBUG=${CCDEBUG} I=${I}
d55 1
a55 1
		CC=${CC} CCDEBUG=${CCDEBUG} I=${I} \
d58 1
a58 1
		CC=${CC} CCDEBUG=${CCDEBUG} I=${I} \
d63 1
a63 1
		CC=${CC} CCDEBUG=${CCDEBUG} I=${I}
d67 1
a67 1
		CC=${CC} CCDEBUG=${CCDEBUG} I=${I} \
d72 1
a72 1
		CC=${CC} CCDEBUG=${CCDEBUG} I=${I} \
d77 1
a77 1
		CC=${CC} CCDEBUG=${CCDEBUG} I=${I} \
d80 1
a80 1
		CC=${CC} CCDEBUG=${CCDEBUG} I=${I} \
d85 1
a85 1
		CC=${CC} CCDEBUG=${CCDEBUG} I=${I} \
d95 1
a95 1
		NIHCLLIBDIR=${NIHCLLIBDIR} NIHCLINCDIR=${NIHCLINCDIR} NIHCLSRCDIR=${NIHCLSRCDIR} \
d100 1
a100 1
		CC=${CC} CCDEBUG=${CCDEBUG} I=${I}
d115 10
a124 1
	cd share;tar cf - .  | (cd ../new-distribution;tar xf -)
d126 3
a128 3
	(cd new-distribution/RCS; chmod u+w *; cd ..; rm -r RCS)
	for i in ${SUBDIRS}; do \
	(cd new-distribution/$$i/RCS; chmod u+w *; cd ..; rm -r RCS); done
@


2.203
log
@Pre-release
@
text
@d1 1
a1 1
# $Header: Makefile,v 2.203 89/08/22 18:20:17 keith Stab $
d85 1
a85 1
	for i in ${CLASSES} ${VECTORS}; do \
@


2.203.1.1
log
@Correct install target: change VECTORS to VECTOR.
@
text
@d1 1
a1 1
# $Header: Makefile,v 2.203 89/08/23 10:04:35 keith Locked $
d85 1
a85 1
	for i in ${CLASSES} ${VECTOR}; do \
@
