xref: /illumos-gate/usr/src/cmd/fs.d/ufs/fsck/Makefile (revision d3b5f563)
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# Copyright (c) 2018, Joyent, Inc.
26
27FSTYPE=		ufs
28LIBPROG=	fsck
29ATTMK=		$(LIBPROG)
30
31include		../../Makefile.fstype
32include		../Makefile.roll
33
34FSCKOBJS=	main.o dir.o dup_avl.o inode.o pass1.o pass1b.o \
35		pass2.o \
36		pass3.o pass3b.o pass4.o pass5.o setup.o \
37		utilities.o
38FSCKSRCS=	$(FSCKOBJS:%.o=%.c)
39
40UFSDIR=		../../../../uts/common/fs/ufs
41UFSOBJS=	ufs_subr.o ufs_tables.o
42UFSSRCS=	$(UFSOBJS:%.o=$(UFSDIR)/%.c)
43ROLLDIR=	../roll_log
44
45OBJS=		$(FSCKOBJS) $(UFSOBJS) $(ROLLOBJS) $(FSLIB)
46SRCS=		$(FSCKSRCS) $(UFSSRCS) $(ROLLSRCS) $(FSLIBSRC)
47
48CPPFLAGS +=	-D_LARGEFILE64_SOURCE -I../../ -I../../../../lib/libadm/inc
49LDLIBS +=	-lefi -lavl
50
51CERRWARN +=	-_gcc=-Wno-parentheses
52CERRWARN +=	-_gcc=-Wno-implicit-function-declaration
53CERRWARN +=	$(CNOWARN_UNINIT)
54
55# not linted
56SMATCH=off
57
58$(LIBPROG):	$(OBJS)
59		$(LINK.c) -o $@ $(OBJS) $(LDLIBS) $(CTFMERGE_HOOK)
60		$(POST_PROCESS)
61
62%.o:	$(UFSDIR)/%.c
63	$(COMPILE.c) $< $(CTFCONVERT_HOOK)
64
65# Use DEVLINTFLAGS and the definition of LINT.c below for development
66# checking.  Prior to putback, increase Nlevel to 4 for extra sanity.
67# Nlevel=2 is the default applied by lint.
68#
69# Remember to comment LINT.c out before doing the putback, as we shouldn't
70# be overriding the top-level settings under normal circumstances.
71#
72# Note that you have to have a proto area with populated usr/include and
73# usr/include/sys (or the parent workspace needs it).  Otherwise lint gets
74# very confused.  Unfortunately, we also have to tell it where its own
75# include directory is, or it gets the wrong version of note.h.
76
77SECLEVEL=core
78DEVLINTFLAGS =	-errtags=yes -U__PRAGMA_REDEFINE_EXTNAME \
79		$(C99LMODE) -errsecurity=$(SECLEVEL) \
80		-x -Nlevel=2 \
81		-I/net/tools-sparc/export/tools.sparc/on10-tools/SUNWspro/SOS8/prod/include/lint
82
83#LINT.c=		$(LINT) $(DEVLINTFLAGS) $(CPPFLAGS)
84
85lint:	lint_SRCS
86
87clean:
88	$(RM) $(FSCKOBJS) $(UFSOBJS)
89
90cscope.out tags: FRC
91	$(XREF) -f -x $@
92
93FRC:
94