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 
  27 FSTYPE=         ufs
  28 LIBPROG=        fsck
  29 ATTMK=          $(LIBPROG)
  30 
  31 include         ../../Makefile.fstype
  32 include         ../Makefile.roll
  33 
  34 FSCKOBJS=       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
  38 FSCKSRCS=       $(FSCKOBJS:%.o=%.c)
  39 
  40 UFSDIR=         ../../../../uts/common/fs/ufs
  41 UFSOBJS=        ufs_subr.o ufs_tables.o
  42 UFSSRCS=        $(UFSOBJS:%.o=$(UFSDIR)/%.c)
  43 ROLLDIR=        ../roll_log
  44 
  45 OBJS=           $(FSCKOBJS) $(UFSOBJS) $(ROLLOBJS) $(FSLIB)
  46 SRCS=           $(FSCKSRCS) $(UFSSRCS) $(ROLLSRCS) $(FSLIBSRC)
  47 
  48 CPPFLAGS +=     -D_LARGEFILE64_SOURCE -I../../ -I../../../../lib/libadm/inc
  49 LDLIBS +=       -lefi -lavl
  50 
  51 CERRWARN +=     -_gcc=-Wno-parentheses
  52 CERRWARN +=     -_gcc=-Wno-implicit-function-declaration
  53 CERRWARN +=     -_gcc=-Wno-uninitialized
  54 
  55 # not linted
  56 SMATCH=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 
  77 SECLEVEL=core
  78 DEVLINTFLAGS =  -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 
  85 lint:   lint_SRCS
  86 
  87 clean:     
  88         $(RM) $(FSCKOBJS) $(UFSOBJS)
  89 
  90 cscope.out tags: FRC
  91         $(XREF) -f -x $@
  92 
  93 FRC: