Makefile revision 24fe0b3bf671e123467ce1df0b67cadd3614c8e4
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
080575042aba2197b425ebfd52061dea061a9aa1xy# Use is subject to license terms.
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# cmd/backup/dump/Makefile
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Copyright (c) 1980 Regents of the University of California.
080575042aba2197b425ebfd52061dea061a9aa1xy# All rights reserved. The Berkeley software License Agreement
d5c3073dbbd835e1e9b7dca0c6c770cf3cc20afachenlu chen - Sun Microsystems - Beijing China# specifies the terms and conditions for redistribution.
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# dump.h header file
080575042aba2197b425ebfd52061dea061a9aa1xy# dumpfstab.c reads fstab/vfstab, mtab/mnttab
080575042aba2197b425ebfd52061dea061a9aa1xy# dumpitime.c reads /etc/dumpdates
080575042aba2197b425ebfd52061dea061a9aa1xy# dumpmain.c driver
080575042aba2197b425ebfd52061dea061a9aa1xy# dumponline.c online dump support
080575042aba2197b425ebfd52061dea061a9aa1xy# dumpoptr.c operator interface
080575042aba2197b425ebfd52061dea061a9aa1xy# dumptape.c handles the mag tape and opening/closing
080575042aba2197b425ebfd52061dea061a9aa1xy# dumptraverse.c traverses the file system
080575042aba2197b425ebfd52061dea061a9aa1xy# lftw.c fixed version of ftw(3)
080575042aba2197b425ebfd52061dea061a9aa1xy# partial.c partial filesystem dump support
d5c3073dbbd835e1e9b7dca0c6c770cf3cc20afachenlu chen - Sun Microsystems - Beijing China# unctime.c undo ctime
f0f2c3a5cf65a61de34af42edac38b2a7bda3416Girish Moodalbail#
080575042aba2197b425ebfd52061dea061a9aa1xy# CPPFLAGS:
080575042aba2197b425ebfd52061dea061a9aa1xy# DEBUG use local directory to find ddate and dumpdates
080575042aba2197b425ebfd52061dea061a9aa1xy# PARTIAL enable partial filesystem dump support
080575042aba2197b425ebfd52061dea061a9aa1xy# TDEBUG trace out the process forking
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# CAUTION: FSTYPE must be defined before including ../Makefile.backup,
080575042aba2197b425ebfd52061dea061a9aa1xy# otherwise UFSROOTPKGUSRLIBFSTYPE doesn't get expanded
080575042aba2197b425ebfd52061dea061a9aa1xy# properly and the magic doesn't happen.
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyFSTYPE= ufs
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyinclude ../Makefile.backup
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#CFLAGS += -DTDEBUG
080575042aba2197b425ebfd52061dea061a9aa1xyUFSDUMP= ufsdump
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyPROG= $(UFSDUMP)
080575042aba2197b425ebfd52061dea061a9aa1xyPRODUCT= $(PROG)
080575042aba2197b425ebfd52061dea061a9aa1xyROLLDIR= ../../fs.d/ufs/roll_log
080575042aba2197b425ebfd52061dea061a9aa1xyROLLOBJS= $(ROLLDIR)/$(MACH)/roll_log.o
080575042aba2197b425ebfd52061dea061a9aa1xyROLLSRCS= $(ROLLDIR)/roll_log.c
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyLOBJECTS= dumponline.o dumpfstab.o dumpitime.o dumpmain.o \
080575042aba2197b425ebfd52061dea061a9aa1xy dumpoptr.o dumptape.o dumptraverse.o unctime.o \
080575042aba2197b425ebfd52061dea061a9aa1xy partial.o lftw.o
080575042aba2197b425ebfd52061dea061a9aa1xyOBJECTS= $(LOBJECTS) roll_log.o
080575042aba2197b425ebfd52061dea061a9aa1xySRCS= $(LOBJECTS:.o=.c)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyPOFILES= $(OBJECTS:.o=.po) ../lib/libdump.po
080575042aba2197b425ebfd52061dea061a9aa1xyPOFILE= ufsdump.po
080575042aba2197b425ebfd52061dea061a9aa1xyROLLPOFILES= roll_log.po
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy# XXX This is only needed for the check: target. It would be nice to
080575042aba2197b425ebfd52061dea061a9aa1xy# XXX automatically generate the list when needed.
080575042aba2197b425ebfd52061dea061a9aa1xyHEADERS= ../../../head/protocols/dumprestore.h \
080575042aba2197b425ebfd52061dea061a9aa1xy ../../fs.d/ufs/roll_log/roll_log.h ../include/byteorder.h \
080575042aba2197b425ebfd52061dea061a9aa1xy ../include/memutils.h \
080575042aba2197b425ebfd52061dea061a9aa1xy ../include/rmt.h dump.h dumpusg.h
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyCLOBBERFILES= $(PRODUCT) $(DEBUGPRODUCTS) dumpdates *.ln $(POFILES)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyLOCAL= .
080575042aba2197b425ebfd52061dea061a9aa1xyGENERAL= ../include
080575042aba2197b425ebfd52061dea061a9aa1xyGLOBAL= ../../../head
080575042aba2197b425ebfd52061dea061a9aa1xyCPPFLAGS= -I$(LOCAL) -I$(GENERAL) -I$(GLOBAL) -DPARTIAL \
080575042aba2197b425ebfd52061dea061a9aa1xy -I$(ROLLDIR) $(CPPFLAGS.master) \
080575042aba2197b425ebfd52061dea061a9aa1xy -D_LARGEFILE64_SOURCE=1
080575042aba2197b425ebfd52061dea061a9aa1xyLIBDUMP= ../lib/libdump.a
080575042aba2197b425ebfd52061dea061a9aa1xyLINTLIBDUMP= ../lib/llib-ldump.ln -lkstat
080575042aba2197b425ebfd52061dea061a9aa1xyLDLIBS += $(BSTATIC) -L../lib -ldump $(BDYNAMIC) \
080575042aba2197b425ebfd52061dea061a9aa1xy -lsocket -lnsl -ladm -lm -lkstat
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyUFSROOTDUMPDATES= $(UFSROOTETC)/dumpdates
080575042aba2197b425ebfd52061dea061a9aa1xyUFSROOTLINK= $(UFSROOTUSRSBIN)/$(PROG)
080575042aba2197b425ebfd52061dea061a9aa1xyLINKVALUE= ../lib/fs/$(FSTYPE)/$(PROG)
080575042aba2197b425ebfd52061dea061a9aa1xyLIBDIR= $(UFSROOTUSRLIBFS)/$(FSTYPE)
080575042aba2197b425ebfd52061dea061a9aa1xy$(UFSROOTDUMPDATES):= FILEMODE= 0664
080575042aba2197b425ebfd52061dea061a9aa1xy$(LIBDIR):= DIRMODE= 0755
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyFILEMODE= 04555
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy.KEEP_STATE:
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyall: $(PRODUCT)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy$(PROG): $(OBJECTS) $$(LIBDUMP)
080575042aba2197b425ebfd52061dea061a9aa1xy $(LINK.c) -o $@ $(OBJECTS) $(LDLIBS)
080575042aba2197b425ebfd52061dea061a9aa1xy $(POST_PROCESS)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy$(LIBDUMP): FRC
080575042aba2197b425ebfd52061dea061a9aa1xy $(DO_LIBDIR)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy$(POFILE): $(POFILES)
080575042aba2197b425ebfd52061dea061a9aa1xy $(RM) $@; cat $(POFILES) > $@
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyFRC:
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyinstall: all $(LIBDIR) $(UFSROOTPKGUSRLIBFSTYPE) dumpdates \
080575042aba2197b425ebfd52061dea061a9aa1xy $(UFSROOTDUMPDATES) $(UFSROOTLINK)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xydumpdates:
080575042aba2197b425ebfd52061dea061a9aa1xy cp /dev/null dumpdates
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#XXX Should actually note return value from close(2), particularly regarding
080575042aba2197b425ebfd52061dea061a9aa1xy#XXX tape descriptors. Some drives don't actually force anything to media
080575042aba2197b425ebfd52061dea061a9aa1xy#XXX except when they are writing a file mark....
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy# grep is looking for non-space/tab
080575042aba2197b425ebfd52061dea061a9aa1xylint: $(SRCS) $(ROLLSRCS) $$(LINTLIBDUMP)
080575042aba2197b425ebfd52061dea061a9aa1xy $(LINT.c) $(SRCS) $(ROLLSRCS) $(LINTLIBDUMP) 2>&1 \
080575042aba2197b425ebfd52061dea061a9aa1xy | sed -f lint.sed | grep '^[^ ]'
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy$(LINTLIBDUMP): FRC
080575042aba2197b425ebfd52061dea061a9aa1xy cd ../lib; pwd; $(MAKE) lint
080575042aba2197b425ebfd52061dea061a9aa1xy pwd
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xycheck: FRC
080575042aba2197b425ebfd52061dea061a9aa1xy $(CSTYLE) $(CSTYLEFLAGS) $(SRCS) $(ROLLSRCS) $(HEADERS)
080575042aba2197b425ebfd52061dea061a9aa1xy $(HDRCHK) $(HDRCHKFLAGS) $(HEADERS)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyclean:
080575042aba2197b425ebfd52061dea061a9aa1xy $(RM) $(OBJECTS) $(ROLLOBJS) $(DEBUGOBJS) *.ln
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy$(LIBDIR):
080575042aba2197b425ebfd52061dea061a9aa1xy $(INS.dir)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy$(UFSROOTLINK):
080575042aba2197b425ebfd52061dea061a9aa1xy -$(RM) $@; $(SYMLINK) $(LINKVALUE) $(UFSROOTLINK)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyroll_log.o:
080575042aba2197b425ebfd52061dea061a9aa1xy cd $(ROLLDIR) ; pwd ; $(MAKE)
080575042aba2197b425ebfd52061dea061a9aa1xy cp $(ROLLOBJS) .
080575042aba2197b425ebfd52061dea061a9aa1xy pwd
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy.debug/roll_log.o:
080575042aba2197b425ebfd52061dea061a9aa1xy cd $(ROLLDIR) ; pwd ; $(MAKE) CFLAGS=-g
080575042aba2197b425ebfd52061dea061a9aa1xy cp $(ROLLOBJS) .debug
080575042aba2197b425ebfd52061dea061a9aa1xy pwd
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy$(ROLLPOFILES): $(ROLLSRCS)
080575042aba2197b425ebfd52061dea061a9aa1xy cd $(ROLLDIR) ; pwd ; $(MAKE) `echo $(ROLLPOFILES) | sed -e 's@$(ROLLDIR)/@@g'`
080575042aba2197b425ebfd52061dea061a9aa1xy cp $(ROLLDIR)/*.po .
080575042aba2197b425ebfd52061dea061a9aa1xy pwd
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy../lib/libdump.po:
080575042aba2197b425ebfd52061dea061a9aa1xy cd ../lib ; pwd ; $(MAKE) libdump.po
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyinclude ../Makefile.targ
080575042aba2197b425ebfd52061dea061a9aa1xy