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.
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.
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]
22 # Copyright 2009 Sun Microsystems, Inc. All rights reserved.
23 # Use is subject to license terms.
25 # cmd/fs.d/Makefile.fstype
26 # Definitions and targets common to "simple" file system types.
29 # FSTYPE is name of filesystem type subdirectory to build
30 # PROG is a list of filesystem type programs to be installed BOTH in
31 # ../etc/fs/$(FSTYPE) and ../usr/lib/fs/$(FSTYPE)
32 # Those installed under etc/fs must be statically linked, while
33 # those installed under usr/lib/fs must be dynamically linked.
34 # ETCPROG is a list of filesystem type programs to be installed ONLY in
36 # LIBPROG is a list of filesystem type programs to be installed ONLY in
37 # ../usr/lib/fs/$(FSTYPE)
38 # TYPEPROG is a list of filesystem type programs to be installed ONLY in
39 # ../usr/lib/$(FSTYPE) [as with nfs daemons]
41 # include global command definitions; SRC should be defined in the shell.
42 # SRC is needed until RFE 1026993 is implemented.
43 include $(SRC)/cmd/Makefile.cmd
45 FSCOMMONDIR= $(SRC)/cmd/fs.d
46 FSLIB= $(FSCOMMONDIR)/fslib.o
47 FSLIBSRC= $(FSLIB:%.o=%.c)
49 ROOTETCFS= $(ROOTETC)/fs
50 ROOTLIBFS= $(ROOT)/usr/lib/fs
51 FSDIRS= $(ROOTETCFS) $(ROOTLIBFS)
52 ROOTETCFSTYPE= $(ROOTETCFS)/$(FSTYPE)
53 ROOTLIBFSTYPE= $(ROOTLIBFS)/$(FSTYPE)
54 ROOTETCTYPE= $(ROOTETC)/$(FSTYPE)
55 ROOTLIBTYPE= $(ROOTLIB64)/$(FSTYPE)
56 ROOTETCFSPROG= $(PROG:%=$(ROOTETCFSTYPE)/%) $(ETCPROG:%=$(ROOTETCFSTYPE)/%)
57 ROOTLIBFSPROG= $(PROG:%=$(ROOTLIBFSTYPE)/%) $(LIBPROG:%=$(ROOTLIBFSTYPE)/%)
58 ROOTTYPEPROG= $(TYPEPROG:%=$(ROOTLIBTYPE)/%)
59 FSTYPEDIRS= $(FSDIRS:%=%/$(FSTYPE)) $(ROOTETCTYPE) $(ROOTLIBTYPE)
60 FSTYPEPROG= $(ROOTETCFSPROG) $(ROOTLIBFSPROG) $(ROOTTYPEPROG)
62 CLOBBERFILES += $(ETCPROG) $(LIBPROG) $(TYPEPROG)
66 all: $(PROG) $(ETCPROG) $(LIBPROG) $(TYPEPROG)
68 # FSDIRS are made by $(SRC)/Targetdirs via rootdirs in $(SRC)/Makefile
69 # Some FSTYPE directories are made there also and should not be made here,
70 # but it is easier to handle them as a class. "install" will not remake
71 # a directory that already exists.
76 $(ROOTETCFSTYPE)/%: $(ROOTETCFSTYPE) %
79 $(ROOTLIBFSTYPE)/%: $(ROOTLIBFSTYPE) %
82 $(ROOTLIBTYPE)/%: $(ROOTLIBTYPE) %
85 $(ROOTETCTYPE)/%: $(ROOTETCTYPE) %
88 # Prevent fslib.o from being build in the sub makefiles.
92 include $(SRC)/cmd/Makefile.targ
94 install: all $(FSTYPEPROG) $(OTHERINSTALL)