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.
12 # dumpfstab.c reads fstab/vfstab, mtab/mnttab
13 # dumpitime.c reads /etc/dumpdates
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
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.
34 include ..
/Makefile.backup
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 \
48 OBJECTS
= $(LOBJECTS
) roll_log.o
49 SRCS
= $(LOBJECTS
:.o
=.c
)
51 POFILES
= $(OBJECTS
:.o
=.po
) ..
/lib
/libdump.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
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
93 $(PROG
): $(OBJECTS
) $$(LIBDUMP
)
94 $(LINK.c
) -o
$@
$(OBJECTS
) $(LDLIBS
)
100 $(POFILE
): $(POFILES
)
101 $(RM
) $@
; cat
$(POFILES
) > $@
105 install: all $(LIBDIR
) $(UFSROOTPKGUSRLIBFSTYPE
) dumpdates \
106 $(UFSROOTDUMPDATES
) $(UFSROOTLINK
)
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
'^[^ ]'
121 cd ..
/lib
; pwd
; $(MAKE
) lint
125 $(CSTYLE
) $(CSTYLEFLAGS
) $(SRCS
) $(ROLLSRCS
) $(HEADERS
)
126 $(HDRCHK
) $(HDRCHKFLAGS
) $(HEADERS
)
129 $(RM
) $(OBJECTS
) $(ROLLOBJS
) $(DEBUGOBJS
) *.ln
135 -$(RM
) $@
; $(SYMLINK
) $(LINKVALUE
) $(UFSROOTLINK
)
138 cd
$(ROLLDIR
) ; pwd
; $(MAKE
)
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'`
153 cd ..
/lib
; pwd
; $(MAKE
) libdump.po
155 include ..
/Makefile.targ