8322 nl: misleading-indentation
[unleashed/tickless.git] / usr / src / cmd / backup / dump / Makefile
blob997ffeaa64a5c9c07f4965fa3368a16e17e723c1
2 # Copyright 2009 Sun Microsystems, Inc. All rights reserved.
3 # Use is subject to license terms.
5 # cmd/backup/dump/Makefile
7 # Copyright (c) 1980 Regents of the University of California.
8 # All rights reserved. The Berkeley software License Agreement
9 # specifies the terms and conditions for redistribution.
11 # dump.h header file
12 # dumpfstab.c reads fstab/vfstab, mtab/mnttab
13 # dumpitime.c reads /etc/dumpdates
14 # dumpmain.c driver
15 # dumponline.c online dump support
16 # dumpoptr.c operator interface
17 # dumptape.c handles the mag tape and opening/closing
18 # dumptraverse.c traverses the file system
19 # lftw.c fixed version of ftw(3)
20 # partial.c partial filesystem dump support
21 # unctime.c undo ctime
23 # CPPFLAGS:
24 # DEBUG use local directory to find ddate and dumpdates
25 # PARTIAL enable partial filesystem dump support
26 # TDEBUG trace out the process forking
28 # CAUTION: FSTYPE must be defined before including ../Makefile.backup,
29 # otherwise UFSROOTPKGUSRLIBFSTYPE doesn't get expanded
30 # properly and the magic doesn't happen.
32 FSTYPE= ufs
34 include ../Makefile.backup
36 #CFLAGS += -DTDEBUG
37 UFSDUMP= ufsdump
39 PROG= $(UFSDUMP)
40 PRODUCT= $(PROG)
41 ROLLDIR= ../../fs.d/ufs/roll_log
42 ROLLOBJS= $(ROLLDIR)/$(MACH)/roll_log.o
43 ROLLSRCS= $(ROLLDIR)/roll_log.c
45 LOBJECTS= dumponline.o dumpfstab.o dumpitime.o dumpmain.o \
46 dumpoptr.o dumptape.o dumptraverse.o unctime.o \
47 partial.o lftw.o
48 OBJECTS= $(LOBJECTS) roll_log.o
49 SRCS= $(LOBJECTS:.o=.c)
51 POFILES= $(OBJECTS:.o=.po) ../lib/libdump.po
52 POFILE= ufsdump.po
53 ROLLPOFILES= roll_log.po
55 # XXX This is only needed for the check: target. It would be nice to
56 # XXX automatically generate the list when needed.
57 HEADERS= ../../../head/protocols/dumprestore.h \
58 ../../fs.d/ufs/roll_log/roll_log.h ../include/byteorder.h \
59 ../include/memutils.h \
60 ../include/rmt.h dump.h dumpusg.h
62 CLOBBERFILES += $(PRODUCT) $(DEBUGPRODUCTS) dumpdates
64 LOCAL= .
65 GENERAL= ../include
66 GLOBAL= ../../../head
67 CPPFLAGS= -I$(LOCAL) -I$(GENERAL) -I$(GLOBAL) -DPARTIAL \
68 -I$(ROLLDIR) $(CPPFLAGS.master) \
69 -D_LARGEFILE64_SOURCE=1
70 CERRWARN += -_gcc=-Wno-implicit-function-declaration
71 CERRWARN += -_gcc=-Wno-parentheses
72 CERRWARN += -_gcc=-Wno-uninitialized
73 CERRWARN += -_gcc=-Wno-clobbered
74 CERRWARN += -_gcc=-Wno-extra
75 LIBDUMP= ../lib/libdump.a
76 LINTLIBDUMP= ../lib/llib-ldump.ln -lkstat
77 LDLIBS += $(BSTATIC) -L../lib -ldump $(BDYNAMIC) \
78 -lsocket -lnsl -ladm -lm -lkstat
80 UFSROOTDUMPDATES= $(UFSROOTETC)/dumpdates
81 UFSROOTLINK= $(UFSROOTUSRSBIN)/$(PROG)
82 LINKVALUE= ../lib/fs/$(FSTYPE)/$(PROG)
83 LIBDIR= $(UFSROOTUSRLIBFS)/$(FSTYPE)
84 $(UFSROOTDUMPDATES):= FILEMODE= 0664
85 $(LIBDIR):= DIRMODE= 0755
87 FILEMODE= 04555
89 .KEEP_STATE:
91 all: $(PRODUCT)
93 $(PROG): $(OBJECTS) $$(LIBDUMP)
94 $(LINK.c) -o $@ $(OBJECTS) $(LDLIBS)
95 $(POST_PROCESS)
97 $(LIBDUMP): FRC
98 $(DO_LIBDIR)
100 $(POFILE): $(POFILES)
101 $(RM) $@; cat $(POFILES) > $@
103 FRC:
105 install: all $(LIBDIR) $(UFSROOTPKGUSRLIBFSTYPE) dumpdates \
106 $(UFSROOTDUMPDATES) $(UFSROOTLINK)
108 dumpdates:
109 cp /dev/null dumpdates
111 #XXX Should actually note return value from close(2), particularly regarding
112 #XXX tape descriptors. Some drives don't actually force anything to media
113 #XXX except when they are writing a file mark....
115 # grep is looking for non-space/tab
116 lint: $(SRCS) $(ROLLSRCS) $$(LINTLIBDUMP)
117 $(LINT.c) $(SRCS) $(ROLLSRCS) $(LINTLIBDUMP) 2>&1 \
118 | sed -f lint.sed | grep '^[^ ]'
120 $(LINTLIBDUMP): FRC
121 cd ../lib; pwd; $(MAKE) lint
124 check: FRC
125 $(CSTYLE) $(CSTYLEFLAGS) $(SRCS) $(ROLLSRCS) $(HEADERS)
126 $(HDRCHK) $(HDRCHKFLAGS) $(HEADERS)
128 clean:
129 $(RM) $(OBJECTS) $(ROLLOBJS) $(DEBUGOBJS) *.ln
131 $(LIBDIR):
132 $(INS.dir)
134 $(UFSROOTLINK):
135 -$(RM) $@; $(SYMLINK) $(LINKVALUE) $(UFSROOTLINK)
137 roll_log.o:
138 cd $(ROLLDIR) ; pwd ; $(MAKE)
139 cp $(ROLLOBJS) .
142 .debug/roll_log.o:
143 cd $(ROLLDIR) ; pwd ; $(MAKE) CFLAGS=-g
144 cp $(ROLLOBJS) .debug
147 $(ROLLPOFILES): $(ROLLSRCS)
148 cd $(ROLLDIR) ; pwd ; $(MAKE) `echo $(ROLLPOFILES) | sed -e 's@$(ROLLDIR)/@@g'`
149 cp $(ROLLDIR)/*.po .
152 ../lib/libdump.po:
153 cd ../lib ; pwd ; $(MAKE) libdump.po
155 include ../Makefile.targ