#sccs	"@(#)malloc:Makefile	1.6"
#
# makefile for libmalloc
#

include $(MAKEINC)/Makepre.h

.SUFFIXES: .p
ARFLAGS=r
CP=cp
ENV=
LNAME=malloc
LIB= $(ROOT)/usr/lib
LINT=lint
LINTFLAGS=-p
MV=mv
OBJECTS=malloc.o id.o
POBJECTS=malloc.p id.p
DEPENDLIST=malloc.c
RM=rm
SGS=
STRIP=strip
SPFLAGS=-r

all: Makeincludes noprof prof

Makeincludes: $(DEPENDLIST)
	$(INCCMD) $(CFLAGS) $(DEPENDLIST) | $(SORT) | $(FILTER) > Makeincludes;\
	$(MAKE)

includes: $(DEPENDLIST)
	$(INCCMD) $(CFLAGS) $(DEPENDLIST) | $(SORT) | $(FILTER) > Makeincludes

noprof: $(OBJECTS)
	$(RM) -rf objects
	mkdir objects
	$(CP) $(OBJECTS) objects
	cd objects; ar $(ARFLAGS) libmalloc.a *

prof: $(POBJECTS)
	$(RM) -rf pobjects
	mkdir pobjects
	for i in $(POBJECTS);\
	do\
		$(CP) $$i pobjects/`basename $$i .p`.o;\
	done
	cd pobjects; ar $(ARFLAGS) libmalloc.a *

# malloc.o malloc.p: /usr/include/malloc.h mallint.h

.c.o .c.p:
	@echo $*.c:
	$(PROF)$(CC) -p $(CFLAGS) -c $*.c    && $(MV) $(*F).o $*.p
	$(CC) $(CFLAGS) -c $*.c

# llib-lmalloc.l:  llib-lmall.c
#	cp llib-lmall.c llib-lmalloc.c
#	lint llib-lmalloc.c
#	rm llib-lmalloc.c

install:
	cd objects; \
	chown bin libmalloc.a; chgrp bin libmalloc.a; chmod 644 libmalloc.a; \
	echo libmalloc.a | cpio -pumv /usr/lib; \
	$(INSTALL) -i$(EXITFLAG) libmalloc.a%/usr/lib $(INSDIR) $(PROTOFILE)
	cd pobjects; \
	chown bin libmalloc.a; chgrp bin libmalloc.a; chmod 644 libmalloc.a; \
	echo libmalloc.a | cpio -pumv /lib/libp; \
	$(INSTALL) -i$(EXITFLAG) libmalloc.a%/lib/libp $(INSDIR) $(PROTOFILE)


#	$(CP) llib-lmalloc.l $(ROOT)/usr/lib/llib-lmalloc.l

clobber: clean
	$(RM) -fr pobjects objects id.c

clean: 
	$(RM) -f $(POBJECTS) $(OBJECTS)

id.c: malloc.sl
	mkslid > id.c

populate:
	getunit

include Makeincludes
include $(MAKEINC)/Makepost.h
