Home | History | Annotate | Download | only in fs.d
      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, Version 1.0 only
      6 # (the "License").  You may not use this file except in compliance
      7 # with the License.
      8 #
      9 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
     10 # or http://www.opensolaris.org/os/licensing.
     11 # See the License for the specific language governing permissions
     12 # and limitations under the License.
     13 #
     14 # When distributing Covered Code, include this CDDL HEADER in each
     15 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
     16 # If applicable, add the following below this CDDL HEADER, with the
     17 # fields enclosed by brackets "[]" replaced with your own identifying
     18 # information: Portions Copyright [yyyy] [name of copyright owner]
     19 #
     20 # CDDL HEADER END
     21 #
     22 #
     23 # Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
     24 # Use is subject to license terms.
     25 #
     26 # ident	"%Z%%M%	%I%	%E% SMI"
     27 #
     28 #	cmd/fs.d/Makefile.fstype
     29 #	Definitions and targets common to "simple" file system types.
     30 #
     31 
     32 # FSTYPE is name of filesystem type subdirectory to build
     33 # PROG is a list of filesystem type programs to be installed BOTH in
     34 #	../etc/fs/$(FSTYPE) and ../usr/lib/fs/$(FSTYPE)
     35 #	Those installed under etc/fs must be statically linked, while
     36 #	those installed under usr/lib/fs must be dynamically linked.
     37 # ETCPROG is a list of filesystem type programs to be installed ONLY in
     38 #	../etc/fs/$(FSTYPE)
     39 # LIBPROG is a list of filesystem type programs to be installed ONLY in
     40 #	../usr/lib/fs/$(FSTYPE)
     41 # TYPEPROG is a list of filesystem type programs to be installed ONLY in
     42 #	../usr/lib/$(FSTYPE)	[as with nfs daemons]
     43 
     44 # include global command definitions; SRC should be defined in the shell.
     45 # SRC is needed until RFE 1026993 is implemented.
     46 include		$(SRC)/cmd/Makefile.cmd
     47 
     48 FSCOMMONDIR=	$(SRC)/cmd/fs.d
     49 FSLIB=		$(FSCOMMONDIR)/fslib.o
     50 FSLIBSRC=	$(FSLIB:%.o=%.c)
     51 
     52 ROOTETCFS=	$(ROOTETC)/fs
     53 ROOTLIBFS=	$(ROOTLIB)/fs
     54 FSDIRS=		$(ROOTETCFS) $(ROOTLIBFS)
     55 ROOTETCFSTYPE=	$(ROOTETCFS)/$(FSTYPE)
     56 ROOTLIBFSTYPE=	$(ROOTLIBFS)/$(FSTYPE)
     57 ROOTETCTYPE=	$(ROOTETC)/$(FSTYPE)
     58 ROOTLIBTYPE=	$(ROOTLIB)/$(FSTYPE)
     59 ROOTETCFSPROG=	$(PROG:%=$(ROOTETCFSTYPE)/%) $(ETCPROG:%=$(ROOTETCFSTYPE)/%)
     60 ROOTLIBFSPROG=	$(PROG:%=$(ROOTLIBFSTYPE)/%) $(LIBPROG:%=$(ROOTLIBFSTYPE)/%)
     61 ROOTTYPEPROG=	$(TYPEPROG:%=$(ROOTLIBTYPE)/%)
     62 FSTYPEDIRS=	$(FSDIRS:%=%/$(FSTYPE)) $(ROOTETCTYPE) $(ROOTLIBTYPE)
     63 FSTYPEPROG=	$(ROOTETCFSPROG) $(ROOTLIBFSPROG) $(ROOTTYPEPROG)
     64 
     65 $(FSTYPEDIRS) :=	OWNER = root
     66 $(FSTYPEDIRS) :=	GROUP = sys
     67 
     68 CLOBBERFILES +=	$(ETCPROG) $(LIBPROG) $(TYPEPROG)
     69 
     70 .KEEP_STATE:
     71 
     72 all:		$(PROG) $(ETCPROG) $(LIBPROG) $(TYPEPROG)
     73 
     74 # FSDIRS are made by $(SRC)/Targetdirs via rootdirs in $(SRC)/Makefile
     75 # Some FSTYPE directories are made there also and should not be made here,
     76 # but it is easier to handle them as a class.  "install" will not remake
     77 # a directory that already exists.
     78 
     79 $(FSTYPEDIRS): 
     80 		$(INS.dir)
     81 
     82 $(ROOTETCFSTYPE)/%:	$(ROOTETCFSTYPE) %
     83 		$(INS.file)
     84 
     85 $(ROOTLIBFSTYPE)/%:	$(ROOTLIBFSTYPE) %
     86 		$(INS.file)
     87 
     88 $(ROOTLIBTYPE)/%:	$(ROOTLIBTYPE) %
     89 		$(INS.file)
     90 
     91 $(ROOTETCTYPE)/%:	$(ROOTETCTYPE) %
     92 		$(INS.file)
     93 
     94 # Prevent fslib.o from being build in the sub makefiles.
     95 $(FSLIB):
     96 	@:
     97 
     98 include		$(SRC)/cmd/Makefile.targ
     99 
    100 install:	all $(FSTYPEPROG) $(OTHERINSTALL)
    101 
    102 clean:
    103 
    104