xref: /illumos-gate/usr/src/cmd/fs.d/ufs/fsck/Makefile (revision afc2ba1deb75b323afde536f2dd18bcafdaa308d)
1#
2# CDDL HEADER START
3#
4# The contents of this file are subject to the terms of the
5# Common Development and Distribution License (the "License").
6# You may not use this file except in compliance with the License.
7#
8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9# or http://www.opensolaris.org/os/licensing.
10# See the License for the specific language governing permissions
11# and limitations under the License.
12#
13# When distributing Covered Code, include this CDDL HEADER in each
14# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15# If applicable, add the following below this CDDL HEADER, with the
16# fields enclosed by brackets "[]" replaced with your own identifying
17# information: Portions Copyright [yyyy] [name of copyright owner]
18#
19# CDDL HEADER END
20#
21#
22# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
23# Use is subject to license terms.
24#
25
26FSTYPE=		ufs
27LIBPROG=	fsck
28ATTMK=		$(LIBPROG)
29
30include		../../Makefile.fstype
31include		../Makefile.roll
32
33FSCKOBJS=	main.o dir.o dup_avl.o inode.o pass1.o pass1b.o \
34		pass2.o \
35		pass3.o pass3b.o pass4.o pass5.o setup.o \
36		utilities.o
37FSCKSRCS=	$(FSCKOBJS:%.o=%.c)
38
39UFSDIR=		../../../../uts/common/fs/ufs
40UFSOBJS=	ufs_subr.o ufs_tables.o
41UFSSRCS=	$(UFSOBJS:%.o=$(UFSDIR)/%.c)
42ROLLDIR=	../roll_log
43
44OBJS=		$(FSCKOBJS) $(UFSOBJS) $(ROLLOBJS) $(FSLIB)
45SRCS=		$(FSCKSRCS) $(UFSSRCS) $(ROLLSRCS) $(FSLIBSRC)
46
47CPPFLAGS +=	-D_LARGEFILE64_SOURCE -I../../ -I../../../../lib/libadm/inc
48LDLIBS +=	-lefi -lavl
49
50CERRWARN +=	-_gcc=-Wno-parentheses
51CERRWARN +=	-_gcc=-Wno-implicit-function-declaration
52CERRWARN +=	-_gcc=-Wno-uninitialized
53
54$(LIBPROG):	$(OBJS)
55		$(LINK.c) -o $@ $(OBJS) $(LDLIBS) $(CTFMERGE_HOOK)
56		$(POST_PROCESS)
57
58%.o:	$(UFSDIR)/%.c
59	$(COMPILE.c) $< $(CTFCONVERT_HOOK)
60
61# Use DEVLINTFLAGS and the definition of LINT.c below for development
62# checking.  Prior to putback, increase Nlevel to 4 for extra sanity.
63# Nlevel=2 is the default applied by lint.
64#
65# Remember to comment LINT.c out before doing the putback, as we shouldn't
66# be overriding the top-level settings under normal circumstances.
67#
68# Note that you have to have a proto area with populated usr/include and
69# usr/include/sys (or the parent workspace needs it).  Otherwise lint gets
70# very confused.  Unfortunately, we also have to tell it where its own
71# include directory is, or it gets the wrong version of note.h.
72
73SECLEVEL=core
74DEVLINTFLAGS =	-errtags=yes -U__PRAGMA_REDEFINE_EXTNAME \
75		$(C99LMODE) -errsecurity=$(SECLEVEL) \
76		-x -Nlevel=2 \
77		-I/net/tools-sparc/export/tools.sparc/on10-tools/SUNWspro/SOS8/prod/include/lint
78
79#LINT.c=		$(LINT) $(DEVLINTFLAGS) $(CPPFLAGS)
80
81lint:	lint_SRCS
82
83clean:
84	$(RM) $(FSCKOBJS) $(UFSOBJS)
85
86cscope.out tags: FRC
87	$(XREF) -f -x $@
88
89FRC:
90