# $Source: /hpux/shared/supp//usr/src/cmd/lif/./makefile,v $
# $Revision: 72.3 $

# This is the common makefile for the LIF utilities.
# It will make lifcp, lifinit, lifls, lifrename and lifrm.

OBJECTS=	findvsize.o gettime.o lfindfile.o lifclose.o \
		lifcp.o lifcreate.o lifinit.o lifls.o lifopen.o \
		lifpurge.o lifrm.o lifrn.o lifspace.o lifvol.o \
		volsize.o movesects.o unitread.o unitwrite.o
SOURCES=	findvsize.c gettime.c lfindfile.c lifclose.c \
		lifcp.c lifcreate.c lifinit.c lifls.c lifopen.c \
		lifpurge.c lifrm.c lifrn.c lifspace.c lifvol.c \
		volsize.c movesects.c unitread.c unitwrite.c

INCLUDE=	lifdef.h global.h

# Objects that are needed for lifcp.
OCP=	lifcp.o lifopen.o \
	lifcreate.o lifclose.o \
	lfindfile.o gettime.o movesects.o \
	volsize.o lifvol.o \
	unitread.o unitwrite.o lifspace.o lifpurge.o \
	findvsize.o bugout.o \
	hpux_rel.o
SCP=	lifcp.c lifopen.c \
	lifcreate.c lifclose.c \
	lfindfile.c gettime.c movesects.c \
	volsize.c lifvol.c \
	unitread.c unitwrite.c lifspace.c lifpurge.c \
	findvsize.c bugout.c \
	hpux_rel.c

# Objects that are needed for lifinit.
OINIT=	lifinit.o \
	volsize.o lifvol.o \
	unitread.o unitwrite.o \
	gettime.o findvsize.o bugout.o \
	hpux_rel.o
SINIT=	lifinit.c \
	volsize.c lifvol.c \
	unitread.c unitwrite.c \
	gettime.c findvsize.c bugout.c \
	hpux_rel.c

# Objects that are needed for lifls.
OLS=	lifls.o \
	volsize.o lifvol.o \
	unitread.o unitwrite.o findvsize.o bugout.o \
	hpux_rel.o
SLS=	lifls.c \
	volsize.c lifvol.c \
	unitread.c unitwrite.c findvsize.c bugout.c \
	hpux_rel.c

# Objects that are needed for lifrm.
ORM=	lifrm.o lifpurge.o\
	findvsize.o volsize.o lifvol.o \
	unitread.o unitwrite.o \
	lfindfile.o  bugout.o \
	hpux_rel.o
SRM=	lifrm.c lifpurge.c\
	findvsize.c volsize.c lifvol.c \
	unitread.c unitwrite.c \
	lfindfile.c  bugout.c \
	hpux_rel.c

# Objects that are needed for lifrename.
ORENAME=	lifrn.o lifpurge.o\
		findvsize.o volsize.o lifvol.o \
		unitread.o unitwrite.o \
		lfindfile.o  bugout.o \
		hpux_rel.o
SRENAME=	lifrn.c lifpurge.c\
		findvsize.c volsize.c lifvol.c \
		unitread.c unitwrite.c \
		lfindfile.c  bugout.c \
		hpux_rel.c

default: all

all:	lifcp lifinit lifls lifrename lifrm lifls.sbin

metrics: lifcp.M lifinit.M lifls.M lifrename.M lifrm.M

lifcp:	$(OCP)
	$(CC) $(LDFLAGS) -o lifcp $(OCP)

lifinit:$(OINIT)
	$(CC) $(LDFLAGS) -o lifinit  $(OINIT)

lifls:  $(OLS)	
	$(CC) $(LDFLAGS) -o lifls $(OLS)

lifls.sbin:  $(OLS)	
	$(CC) -Wl,-a,archive $(LDFLAGS) -o lifls.sbin $(OLS)

lifrename:	$(ORENAME)
	$(CC) $(LDFLAGS) -o lifrename $(ORENAME) 

lifrm:	$(ORM)
	$(CC) $(LDFLAGS) -o lifrm $(ORM) 

lifcp.M:	$(SCP)
	$(METRICS) $(CFLAGS) -o lifcp.M $(SCP)

lifinit.M:$(SINIT)
	$(METRICS) $(CFLAGS) -o lifinit.M  $(SINIT)

lifls.M:  $(SLS)	
	$(METRICS) $(CFLAGS) -o lifls.M $(SLS)

lifrename.M:	$(SRENAME)
	$(METRICS) $(CFLAGS) -o lifrename.M $(SRENAME) 

lifrm.M:	$(SRM)
	$(METRICS) $(CFLAGS) -o lifrm.M $(SRM) 

# If make is called with the lint target then the the above files (names will
# be changed from .o's to .c's) will be run through lint.
lint: lifcp.ln lifinit.ln lifls.ln lifrn.ln lifrm.ln

lifcp.ln: $(OCP:.o=.c)
	exec lint $(OCP:.o=.c) >$@

lifinit.ln: $(OINIT:.o=.c)
	exec lint $(OINIT:.o=.c) >$@

lifls.ln: $(OLS:.o=.c)
	exec lint $(OLS:.o=.c) >$@

lifrn.ln: $(ORENAME:.o=.c)
	exec lint $(ORENAME:.o=.c) >$@

lifrm.ln: $(ORM:.o=.c)
	exec lint $(ORM:.o=.c) >$@

clean:
	/bin/rm -f *.o *.ln
	/bin/rm -f mon.out 

clobber: clean
	/bin/rm -f lifcp lifinit lifls lifrm lifrename lifls.sbin \
		   lifcp.M lifinit.M lifls.M lifrm.M lifrename.M

$(OBJECTS):	$(INCLUDE)
