head     3.4;
access   ;
symbols  ;
locks    dld:3.4; strict;
comment  @# @;


3.4
date     90.02.07.14.05.18;  author dld;  state Exp;
branches ;
next     3.3;

3.3
date     90.01.19.14.37.09;  author dld;  state Exp;
branches ;
next     3.2;

3.2
date     89.12.28.18.37.40;  author dld;  state Exp;
branches ;
next     3.1;

3.1
date     89.12.19.11.17.43;  author dld;  state Exp;
branches ;
next     3.0;

3.0
date     89.11.16.16.42.22;  author dld;  state Exp;
branches ;
next     2.3;

2.3
date     89.11.16.10.29.59;  author dld;  state Exp;
branches ;
next     2.2;

2.2
date     89.09.27.16.21.56;  author dld;  state Exp;
branches ;
next     2.1;

2.1
date     89.09.11.20.07.11;  author dld;  state Exp;
branches ;
next     2.0;

2.0
date     89.09.07.13.21.26;  author dld;  state Exp;
branches ;
next     1.1;

1.1
date     89.08.08.13.05.23;  author dld;  state Exp;
branches ;
next     ;


desc
@@


3.4
log
@*** empty log message ***
@
text
@LIBS		=	test_sup.o -lGc -lthreads -lmach -lgen -lm

OBJDSC_OFILES =	ObjPtrIttr.o ObjDesc.o ObjHead.o
GCLIB_OFILES =	GcHeap.o GcHeapRep1.o GcHeapRep2.o GcHeapRep3.o GcHeapRep4.o \
		gc_glob.o glob_list_tmp.o \
		GcHeap_debug.o AllocPoint.o \
		GcHeap_ipc.o NullMsgServer.o NullMsgUser.o \
		OnePortMsgServer.o OnePortMsgUser.o excServer.o \
		Monitor.o
GEN_OFILES =	Time.o misc_math.o debug.o primes.o

VPATH =	/afs/cs/user/dld/gc/concurrent:/afs/cs/user/dld/gc/obj_desc
INCLDIRS = -I/afs/cs/user/dld/gc/concurrent -I/afs/cs/user/dld/gc/obj_desc
CFRONTSRC =	/usr/dld/GC/c++/cfront
DEBUG_CCFLAGS 	= 	-I. $(INCLDIRS) -DPERF_MEAS=2
PROD_CCFLAGS 	= 	-DNO_INSERT_DEBUG_CODE -DNDEBUG -DPRODUCTION \
			-I. $(INCLDIRS) -DPERF_MEAS=2
PROD3_CCFLAGS 	= 	-DNO_INSERT_DEBUG_CODE -DNDEBUG -DPRODUCTION \
			-I. $(INCLDIRS) -DPERF_MEAS=3
PROF_CCFLAGS	=	$(PROD_CCFLAGS) -p


all:		libGc.a gc_glob.x.h kill_mut_task \
		obj_desc_support obj_desc_tests gc_tests

obj_desc_tests:	test_ObjPtrIttr test_ObjHead

obj_desc_support:	interpret

gc_tests:	test1 test2 test3 test4 test5 test6 test7 test7new

#this is the default -- makes for debugging.
att:
	$(MAKE) CC="/usr/dld/bin/CC $(DEBUG_CCFLAGS) -g" \
		CCFLAGS="$(DEBUG_CCFLAGS)" atttarg
	

attprod:
	$(MAKE) CC="/usr/dld/bin/CC $(PROD_CCFLAGS) -O" \
		CCFLAGS="$(PROD_CCFLAGS)" atttarg

attprod3:
	$(MAKE) CC="/usr/dld/bin/CC $(PROD3_CCFLAGS) -O" \
		CCFLAGS="$(PROD3_CCFLAGS)" atttarg

attprof:
	$(MAKE) CC="/usr/dld/bin/CC $(PROF_CCFLAGS) -O" \
		CCFLAGS="$(PROF_CCFLAGS)" atttarg

atttarg:	attobj gc_glob.x.h kill_mut_task

attobj: $(GCLIB_OFILES) $(OBJDSC_OFILES) $(GEN_OFILES) 
	/bin/rm -f libGc.a
	ar q libGc.a $(GCLIB_OFILES) $(OBJDSC_OFILES) $(GEN_OFILES)
	ranlib libGc.a

libGc.att.a:
	$(MAKE) CC="/usr/misc/bin/CC $(CCFLAGS)" libGc.a

libGc.a:	$(GCLIB_OFILES) $(OBJDSC_OFILES)
	/bin/rm -f libGc.a
	ar q libGc.a $(GCLIB_OFILES) $(OBJDSC_OFILES)
	ranlib libGc.a


# Source file dependencies.

# ObjDesc Files.
ObjHead.c:	ObjHead.h

ObjHead.h:	ObjHead_inlines.h

ObjPtrIttr.c:	ObjPtrIttr.h

ObjPtrIttr.h:	ObjHead.h ObjDesc.h ObjPtrIttr_inlines.h

ObjDesc.c:	ObjDesc.h ObjPtrIttr.h

ObjDesc.h:	ObjDesc_inlines.h


# Concurrent GcHeap files.
GcHeap.c:	GcHeap.h GcHeapRep.h

GcHeapRep.h:	gc_misc.h ObjHead.h ObjPtrIttr.h AllocPoint.h

GcHeapRep1.c:	GcHeap_debug.h GcHeapRep.h GcHeap_ipc.h mutex_macros.h

GcHeapRep2.c:	GcHeap_debug.h GcHeapRep.h Monitor.h mutex_macros.h

GcHeapRep3.c:	GcHeap_debug.h GcHeapRep.h GcHeap_ipc.h exc.h mutex_macros.h

GcHeapRep4.c:	GcHeap_debug.h GcHeapRep.h GcHeap_ipc.h GcHeapRep_inlines.h \
		Monitor.h mutex_macros.h

AllocPoint.c:	AllocPoint.c AllocPoint.h AllocPoint_inlines.h


GcHeap_debug.c:	GcHeap_debug.h GcHeapRep.h GcHeap_debug_inlines.h \
		mutex_macros.h

GcHeap_ipc.c:	GcHeap_ipc.h

GcHeap_ipc.h:	NullMsg.h OnePortMsg.h

Monitor.c:	Monitor.h

bug:		bug.o
	CC -o bug bug.o -lGc -lthreads -lmach

# The below fixes a C++ bug.  (Use AT&T cfront here always...)
gc_glob.o:	gc_glob.c gc_glob.h
	/usr/misc/bin/CC $(INCLDIRS) -c +i gc_glob.c
	sed -e "s/^struct GcHeap __gch ;/struct GcHeap __gch = 0;/" \
		gc_glob..c > gc_glob.2.c
	cc -c -g gc_glob.2.c
	/bin/mv -f gc_glob.2.o gc_glob.o
	/bin/rm -f gc_glob.2.c gc_glob..c


gc_glob.h:	GcHeap.h ObjHead.h

gc_glob.x.h:	gc_glob.h GcHeap.h ObjHead.h
	/bin/rm -f gc_glob_temp.c
	/bin/cp gc_glob.h gc_glob_temp.c
	/usr/misc/bin/CC -E $(CCFLAGS) -DABRIDGED \
		gc_glob_temp.c > gc_glob.x.h
	/bin/rm -f gc_glob_temp.c

#	/usr/misc/bin/CC -UPRODUCTION -DABRIDGED -DPERF_MEAS=2 $(INCLDIRS) \
#		-E gc_glob_temp.c > gc_glob.x.h
#	/bin/rm -f gc_glob_temp.c


# This is all Mig stuff.
NullMsg.h:	null_msg.defs
	mig null_msg.defs

NullMsgServer.c:	null_msg.defs
	mig null_msg.defs

NullMsgUser.c:		null_msg.defs
	mig null_msg.defs

OnePortMsg.h:	one_port_msg.defs
	mig one_port_msg.defs

OnePortMsgServer.c:	one_port_msg.defs
	mig one_port_msg.defs

OnePortMsgUser.c:	one_port_msg.defs
	mig one_port_msg.defs

excServer.c:	exc.defs
	mig exc.defs
	sed -e 's/\#define	TypeCheck 1/\#define	TypeCheck 0/' \
		excServer.c > excServer.c.tmp
	/bin/mv -f excServer.c.tmp excServer.c

# We need a AT&T 1.2 versions of genlib's Time.o, misc_math.o, and debug.o
Time.o:		genlib-src/Time.c
	$(CC) -I. -c genlib-src/Time.c

misc_math.o:	genlib-src/misc_math.c
	$(CC) -I. -c genlib-src/misc_math.c

debug.o:	genlib-src/debug.c
	$(CC) -I.  -c genlib-src/debug.c

primes.o:	genlib-src/primes.c
	$(CC) -I.  -c genlib-src/primes.c
		


#test programs.

test_sup.c:	test_sup.h

interpret:	interpret.o print_od_str.o
	$(CC) -o interpret interpret.o print_od_str.o \
		 ObjPtrIttr.o ObjHead.o ObjDesc.o

interpret.c:	ObjDesc.h

test_ObjPtrIttr:	test_ObjPtrIttr.o ObjPtrIttr.o ObjHead.o ObjDesc.o \
			print_od_str.o
	$(CC) -o test_ObjPtrIttr test_ObjPtrIttr.o \
		ObjPtrIttr.o ObjHead.o ObjDesc.o print_od_str.o
test_ObjPtrIttr.c:	ObjPtrIttr.h ObjDesc.h

print_od_str.c:		ObjDesc.h


test_ObjHead:	test_ObjHead.o ObjHead.o
	$(CC) -o test_ObjHead test_ObjHead.o ObjHead.o

test1:		test1.o test_sup.o the_lib
	$(CC) -o test1 test1.o $(LIBS)
test1.c:	test_sup.h

test2:		test2.o test_sup.o the_lib
	$(CC) -o test2 test2.o $(LIBS)
test2.c:	test_sup.h

test3:		test3.o test_sup.o the_lib
	$(CC) -o test3 test3.o $(LIBS)
test3.c:	test_sup.h

test4:		test4.o test_sup.o the_lib
	$(CC) -o test4 test4.o $(LIBS)
test4.c:	test_sup.h

test5:		test5.o test_sup.o the_lib
	$(CC) -o test5 test5.o $(LIBS)
test5.c:	test_sup.h

test6:		test6.o test_sup.o the_lib
	$(CC) -o test6 test6.o $(LIBS)
test6.c:	test_sup.h

test7:		test7.o test_sup.o the_lib
	$(CC) -o test7 test7.o $(LIBS)
test7.c:	test_sup.h ObjDesc.h

test7new:	test7new.o test_sup.o the_lib
	$(CC) -o test7new test7new.o $(LIBS)
test7new.c:	test_sup.h ObjDesc.h

test20:		test20.o  the_lib
	$(CC) -o test20 test20.o $(LIBS)
test20.c:	ObjPtrIttr.h

kill_mut_task:	kill_mut_task.c
	/usr/misc/bin/CC -o kill_mut_task $(INCLDIRS) kill_mut_task.c \
	-lGc -lmach

kill_mut_task.c:	GcHeap_ipc.h@


3.3
log
@att now depends on gc_glob.x.h; added 'bug' (may remove later); gc_glob.x.h
is now made with -DPERF_MEAS=2.
@
text
@d15 6
a20 2
CCFLAGS 	= 	-I. $(INCLDIRS) -g -DPERF_MEAS=2
CC =	CC $(CCFLAGS) 
d22 1
d32 6
d39 2
a40 2
	$(MAKE) CCFLAGS="-DNO_INSERT_DEBUG_CODE -DNDEBUG -DPRODUCTION\
		-I. $(INCLDIRS) -DPERF_MEAS=2 -O" att
d42 4
d47 2
a48 2
	$(MAKE) CCFLAGS="-DNO_INSERT_DEBUG_CODE -DNDEBUG -DPRODUCTION\
		-pg -I. $(INCLDIRS) -DPERF_MEAS=2 -O" att
d50 1
a50 5
#att:	
#	$(MAKE) CC="/usr/misc/bin/CC $(CCFLAGS)" attobj
att:	
	$(MAKE) CC="/usr/dld/bin/CC $(CCFLAGS)" attobj gc_glob.x.h \
		kill_mut_task
d124 1
d126 2
a127 2
	/usr/misc/bin/CC -UPRODUCTION -DABRIDGED -DPERF_MEAS=2 $(INCLDIRS) \
		-E gc_glob_temp.c > gc_glob.x.h
d129 4
@


3.2
log
@Version that works on the multimax.
@
text
@d16 1
a16 1
CC =	g++ $(CCFLAGS) 
d38 2
a39 1
	$(MAKE) CC="/usr/dld/bin/CC $(CCFLAGS)" attobj kill_mut_task
d97 3
d114 1
a114 1
	/usr/misc/bin/CC -UPRODUCTION -DABRIDGED $(INCLDIRS) \
@


3.1
log
@Mostly genlib stuff.
@
text
@d18 2
a19 1
all:		libGc.a gc_glob.x.h obj_desc_support obj_desc_tests gc_tests
d38 1
a38 1
	$(MAKE) CC="/usr/dld/bin/CC $(CCFLAGS)" attobj
d75 1
a75 1
GcHeapRep1.c:	GcHeap_debug.h GcHeapRep.h GcHeap_ipc.h
d77 1
a77 1
GcHeapRep2.c:	GcHeap_debug.h GcHeapRep.h
d79 1
a79 1
GcHeapRep3.c:	GcHeap_debug.h GcHeapRep.h GcHeap_ipc.h exc.h
d81 2
a82 1
GcHeapRep4.c:	GcHeap_debug.h GcHeapRep.h GcHeap_ipc.h GcHeapRep_inlines.h
d87 2
a88 1
GcHeap_debug.c:	GcHeap_debug.h GcHeapRep.h GcHeap_debug_inlines.h
d212 5
@


3.0
log
@Version for "works non-concurrently".
@
text
@d8 3
a10 1
		OnePortMsgServer.o OnePortMsgUser.o excServer.o
d28 1
a28 1
		$(CCFLAGS)" att
d32 1
a32 1
		-pg $(CCFLAGS)" att
d34 2
d37 1
a37 1
	$(MAKE) CC="/usr/misc/bin/CC $(CCFLAGS)" attobj
d39 1
a39 2
attobj: Time.o misc_math.o gc_glob.x.h debug.o \
		$(GCLIB_OFILES) $(OBJDSC_OFILES)
d41 1
a41 2
	ar q libGc.a $(GCLIB_OFILES) $(OBJDSC_OFILES) \
		Time.o misc_math.o debug.o
d91 2
d138 2
a139 2
Time.o:		/afs/cs/misc/c++/build/genlib/src/utils/Time.c
	/usr/misc/bin/CC -I. -c /afs/cs/misc/c++/build/genlib/src/utils/Time.c
d141 2
a142 3
misc_math.o:	/afs/cs/misc/c++/build/genlib/src/math/misc_math.c
	/usr/misc/bin/CC -I. -c \
		/afs/cs/misc/c++/build/genlib/src/math/misc_math.c
d144 5
a148 2
debug.o:
	/usr/misc/bin/CC -I. -I/afs/cs/user/dld/gc/concurrent -c debug.c
@


2.3
log
@Saving version before making 'GcHeap_ref' change.
@
text
@d4 2
a5 1
GCLIB_OFILES =	GcHeap1.o GcHeap2.o GcHp_globs.o GcHp_globs_tmp.o gc_glob.o \
d68 1
a68 1
GcHeap.h:	ObjHead.h AllocPoint.h gc_misc.h
d70 1
a70 2
GcHeap1.c:	GcHeap_debug.h gc_misc.h GcHeap.h ObjPtrIttr.h \
		GcHeap_ipc.h GcHeap_inlines.h 
d72 1
a72 1
GcHeap2.c:	GcHeap_debug.h GcHeap.h
d74 1
a74 1
AllocPoint.c:	AllocPoint.c AllocPoint.h
d76 1
a76 1
AllocPoint.h:	AllocPoint_inlines.h
d78 1
d80 1
a80 1
GcHeap_debug.c:	GcHeap_debug.h GcHeap.h 
a81 1
GcHeap_debug.h:	GcHeap_debug_inlines.h
d83 2
a87 2

GcHp_globs.c:	GcHeap.h
@


2.2
log
@Version that worked as of 9/27.
@
text
@d3 5
a7 3
GCLIB_OFILES =	GcHeap1.o GcHeap2.o ObjPtrIttr.o ObjDesc.o \
		GcHp_globs.o GcHp_globs_tmp.o ObjHead.o gc_glob.o \
		GcHeap_debug.o
d9 2
a10 1
VPATH =	/afs/cs/user/dld/gc/c++
d12 1
a12 1
CCFLAGS 	= 	-I. -I$(VPATH) -g -DPERF_MEAS=2
d15 1
a15 3
all:		test_ObjPtrIttr test_ObjHead libGc.a gc_glob.x.h interpret \
		test1 test2 test3 test4 test5 test6 test7 test8
#		test7 test8
d17 6
d31 8
a38 3
att:	Time.o misc_math.o gc_glob.x.h
	$(MAKE) CC="/usr/misc/bin/CC $(CCFLAGS)" libGc.a
	ar r libGc.a Time.o misc_math.o
d41 4
a44 1
libGc.a:	$(GCLIB_OFILES) test_sup.o
d46 1
a46 1
	ar q libGc.a $(GCLIB_OFILES)
a48 2
GcHeap1.o:	GcHeap1.c
	$(CC) -c GcHeap1.c
d50 1
a50 1
GcHeap1.c:	GcHeap.h GcHeap_inlines.h
d52 2
d55 1
a55 2
GcHeap2.o:	GcHeap2.c
	$(CC) -c GcHeap2.c
d57 1
a57 2
GcHeap_debug.o:	GcHeap_debug.c
	$(CC) -c GcHeap_debug.c
d59 1
a59 3
# We need a AT&T 1.2 versions of genlib's Time.o and misc_math.o
Time.o:		/afs/cs/misc/c++/build/genlib/src/utils/Time.c
	/usr/misc/bin/CC -I. -c /afs/cs/misc/c++/build/genlib/src/utils/Time.c
d61 1
a61 3
misc_math.o:	/afs/cs/misc/c++/build/genlib/src/math/misc_math.c
	/usr/misc/bin/CC -I. -c \
		/afs/cs/misc/c++/build/genlib/src/math/misc_math.c
d63 1
a63 4
GcHeap1.c:	GcHeap.h ObjPtrIttr.h CollArg.h
GcHeap2.c:	GcHeap.h ObjPtrIttr.h
GcHeap.h:	ObjHead.h gc_misc.h 
GcHeap_debug.c:	GcHeap.h GcHeap_debug.h GcHeap_debug_inlines.h
a64 1
ObjPtrIttr.h:	ObjHead.h ObjDesc.h
d66 2
a67 2
ObjPtrIttr.o:	ObjPtrIttr.c ObjPtrIttr.h
	$(CC) -c ObjPtrIttr.c
d69 2
a70 3
ObjDesc.o:	ObjDesc.c ObjDesc.h
	$(CC) -c -I$(CFRONTSRC) ObjDesc.c
ObjDesc.c:	ObjDesc_inlines.h
d72 1
a72 1
ObjHead.o:	ObjHead.c ObjHead.h
d74 1
a74 2
GcHp_globs.o:	GcHp_globs.c GcHeap.h
	$(CC) -c GcHp_globs.c
d76 1
a76 2
GcHp_globs_tmp.o:	GcHp_globs_tmp.c
	$(CC) -c GcHp_globs_tmp.c
d78 11
d91 1
a91 1
	/usr/misc/bin/CC -I/afs/cs/user/dld/gc/c++ -c +i gc_glob.c
d103 1
a103 1
	/usr/misc/bin/CC -UPRODUCTION -DABRIDGED -I/usr/dld/vice/gc/c++ \
d107 39
d148 1
a148 2
test_sup.o:	test_sup.c test_sup.h
	$(CC) -c test_sup.c
d154 1
a154 2
interpret.o:	interpret.c ObjDesc.h
	$(CC) -c interpret.c
d160 1
a160 4
test_ObjPtrIttr.o:	test_ObjPtrIttr.c ObjPtrIttr.h ObjDesc.h
	$(CC) -c test_ObjPtrIttr.c
print_od_str.o:		print_od_str.c ObjDesc.h
	$(CC) -c print_od_str.c
d162 1
d164 1
a166 2
test_ObjHead.o:	test_ObjHead.c
	$(CC) -c test_ObjHead.c
d168 1
a168 2

test1:		test1.o libGc.a test_sup.o
d170 1
a170 2
test1.o:	test1.c test_sup.h
	$(CC) -c test1.c
d172 1
a172 1
test2:		test2.o libGc.a test_sup.o
d174 1
a174 2
test2.o:	test2.c test_sup.h
	$(CC) -c test2.c
d176 1
a176 1
test3:		test3.o libGc.a test_sup.o
d178 1
a178 2
test3.o:	test3.c test_sup.h
	$(CC) -c test3.c
d180 1
a180 1
test4:		test4.o libGc.a test_sup.o
d182 1
a182 2
test4.o:	test4.c test_sup.h
	$(CC) -c test4.c
d184 1
a184 1
test5:		test5.o libGc.a test_sup.o
d186 1
a186 2
test5.o:	test5.c test_sup.h
	$(CC) -c test5.c
d188 1
a188 1
test6:		test6.o libGc.a test_sup.o
d190 1
a190 2
test6.o:	test6.c test_sup.h
	$(CC) -c test6.c
d192 1
a192 1
test7:		test7.o libGc.a test_sup.o
d194 1
a194 2
test7.o:	test7.c test_sup.h ObjDesc.h
	$(CC) -c test7.c
d196 3
a198 4
test8:		test8.o libGc.a test_sup.o
	$(CC) -o test8 test8.o $(LIBS)
test8.o:	test8.c test_sup.h ObjDesc.h
	$(CC) -c test8.c
d200 1
a200 1
test20:		test20.o libGc.a
d202 1
a202 2
test20.o:	test20.c ObjPtrIttr.h
	$(CC) -c test20.c
@


2.1
log
@Version that averages about a minute.
@
text
@d162 4
@


2.0
log
@Version that compiled cfront that compiled print.c.
@
text
@@


1.1
log
@Initial revision
@
text
@@
