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