From 9d801ff9dfa07ec81bd049777e4a2e214925ac5a Mon Sep 17 00:00:00 2001 From: CSRG Date: Fri, 14 Sep 1990 00:04:10 -0800 Subject: [PATCH] BSD 4_4_Lite1 development Work on file usr/src/contrib/mprof/Makefile.sun4 Synthesized-from: CSRG/cd2/4.4BSD-Lite1 --- usr/src/contrib/mprof/Makefile.sun4 | 151 ++++++++++++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 usr/src/contrib/mprof/Makefile.sun4 diff --git a/usr/src/contrib/mprof/Makefile.sun4 b/usr/src/contrib/mprof/Makefile.sun4 new file mode 100644 index 0000000000..22447ebaa2 --- /dev/null +++ b/usr/src/contrib/mprof/Makefile.sun4 @@ -0,0 +1,151 @@ +# %M% %I% %G% %U% +# Copyright (c) 1987, Benjamin G. Zorn +# +# Makefile for MPROF data generation +# + +CC = /bin/cc + +# mips CFLAGS = -I. -g -DDEBUG +# sun4 CFLAGS = -I. -g -Dsun4 +# sun3,vax CFLAGS = -I. -g + +# sun4 ASFLAGS = -P -Dsun4 +# sun3,vax,mips ASFLAGS = + +CFLAGS = -I. -g -Dsun4 +ASFLAGS = -P -Dsun4 +BIN = . +MPLIB = $(BIN)/libc_mp.a +LINTFLAGS = -bhx + +# sun4,mips ASM_SRC = md.s +# sun4,mips ASM_OBJ = md.o +# vax,sun3 ASM_SRC = +# vax,sun3 ASM_SRC = + +ASM_SRC = md.s +ASM_OBJ = md.o + +MPROF_MON_SRCS = leak.c malloc.c mpattach.c mprof_mon.c mpstruct.c $(ASM_SRC) +MPROF_MON_OBJS = leak.o malloc.o mpattach.o mprof_mon.o mpstruct.o $(ASM_OBJ) + +MPROF_SRCS = mprof.c mpstruct.c mpgraph.c +MPROF_OBJS = mprof.o mpstruct.o mpgraph.o + +DOC_SRC = mprof.1 +DOC_OBJS = mprof.man + +DISTNAME = mprof-3.0 + +TEST_SRCS = test1.c test2.c +TEST_OBJS = test1.o test2.o + +all: mprof $(MPROF_MON_OBJS) $(DOC_OBJS) $(MPLIB) + +# mips $(MPLIB): $(MPROF_MON_OBJS) +# ar cr libc_mp.a $(MPROF_MON_OBJS) +# ranlib libc_mp.a + +# sun3, sun4 LIB_REPLACE = memalign.o +# vax LIB_REPLACE = exit.o +# mips LIB_REPLACE = + +LIB_REPLACE = memalign.o + +$(MPLIB): $(MPROF_MON_OBJS) + cp /lib/libc.a libc_mp.a + ar d libc_mp.a malloc.o valloc.o $(LIB_REPLACE) + ar r libc_mp.a $(MPROF_MON_OBJS) + ranlib libc_mp.a + +test: $(TEST_OBJS) test1-demo test2-demo + +mprof-mon-lint: + lint $(LINTFLAGS) $(MPROF_MON_SRCS) > mprof.lint + +mprof-lint: + lint $(LINTFLAGS) $(MPROF_SRCS) > mprof.lint + +clean: + rm -f *.o mprof.lint mprof-mon.lint \ + $(DOC_OBJS) \ + $(TEST_OBJS) \ + test1 test1.data test1.mprof \ + test2 test2.data test2.mprof \ + libc_mp.a mprof mprof.data + +leak.o: leak.c +mprof_mon.o: mprof_mon.c +mpstruct.o: mpstruct.c +mpgraph.o: mpgraph.c +mprof.o: mprof.c +md.o: md.s + $(AS) $(ASFLAGS) -o md.o md.s + +malloc.o: malloc.c + $(CC) $(CFLAGS) -Dmalloc=__malloc__ -Dfree=__free__ -Drealloc=__realloc__ malloc.c -c + +mprof: $(MPROF_OBJS) + $(CC) $(CFLAGS) -o mprof $(MPROF_OBJS) + +mprof.man: mprof.1 + nroff -man mprof.1 > mprof.man + +dist: MANIFEST + tar cvf $(DISTNAME).tar `cat MANIFEST` + compress $(DISTNAME).tar + +# +# Examples to test if MPROF is installed correctly +# + +# A very simple test (tests calloc and valloc) + +test1-demo: test1.data + $(BIN)/mprof -normal test1 test1.data > test1.mprof + +test1.mprof: test1.data + $(BIN)/mprof -normal test1 test1.data > test1.mprof + +test1.data: test1 + test1 + cp mprof.data test1.data + +test1: test1.o $(MPLIB) + $(CC) $(CFLAGS) -o test1 test1.o $(MPLIB) + +test1.o: test1.c + + +# test2 program (example from paper) + +test2-demo: test2.data + $(BIN)/mprof -normal test2 test2.data > test2.mprof + +test2.mprof: test2.data + $(BIN)/mprof -normal test2 test2.data > test2.mprof + +test2.data: test2 + test2 + cp mprof.data test2.data + +test2: test2.o $(MPLIB) + $(CC) $(CFLAGS) -o test2 test2.o $(MPLIB) + +test2.o: test2.c + + +### +leak.o: /usr/include/stdio.h mprof.h /usr/include/sys/types.h \ + /usr/include/frame.h +malloc.o: /usr/include/sys/types.h /usr/include/stdio.h +mprof.o: /usr/include/stdio.h /usr/include/sys/file.h /usr/include/ctype.h \ + /usr/include/a.out.h /usr/include/sys/exec.h /usr/include/stab.h \ + mprof.h /usr/include/sys/types.h /usr/include/frame.h +mprof_mon.o: /usr/include/stdio.h /usr/include/sys/file.h mprof.h \ + /usr/include/sys/types.h /usr/include/frame.h +mpstruct.o: /usr/include/stdio.h mprof.h /usr/include/sys/types.h \ + /usr/include/frame.h +mpgraph.o: /usr/include/stdio.h mprof.h /usr/include/sys/types.h \ + /usr/include/frame.h -- 2.20.1