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 2009 Sun Microsystems, Inc. All rights reserved. 23 # Use is subject to license terms. 24 # 25 # cmd/fs.d/Makefile.fstype 26 # Definitions and targets common to "simple" file system types. 27 # 28 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 35 # ../etc/fs/$(FSTYPE) 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] 40 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 44 45 FSCOMMONDIR= $(SRC)/cmd/fs.d 46 FSLIB= $(FSCOMMONDIR)/fslib.o 47 FSLIBSRC= $(FSLIB:%.o=%.c) 48 49 ROOTETCFS= $(ROOTETC)/fs 50 ROOTLIBFS= $(ROOTLIB)/fs 51 FSDIRS= $(ROOTETCFS) $(ROOTLIBFS) 52 ROOTETCFSTYPE= $(ROOTETCFS)/$(FSTYPE) 53 ROOTLIBFSTYPE= $(ROOTLIBFS)/$(FSTYPE) 54 ROOTETCTYPE= $(ROOTETC)/$(FSTYPE) 55 ROOTLIBTYPE= $(ROOTLIB)/$(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) 61 62 CLOBBERFILES += $(ETCPROG) $(LIBPROG) $(TYPEPROG) 63 64 .KEEP_STATE: 65 66 all: $(PROG) $(ETCPROG) $(LIBPROG) $(TYPEPROG) 67 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. 72 73 $(FSTYPEDIRS): 74 $(INS.dir) 75 76 $(ROOTETCFSTYPE)/%: $(ROOTETCFSTYPE) % 77 $(INS.file) 78 79 $(ROOTLIBFSTYPE)/%: $(ROOTLIBFSTYPE) % 80 $(INS.file) 81 82 $(ROOTLIBTYPE)/%: $(ROOTLIBTYPE) % 83 $(INS.file) 84 85 $(ROOTETCTYPE)/%: $(ROOTETCTYPE) % 86 $(INS.file) 87 88 # Prevent fslib.o from being build in the sub makefiles. 89 $(FSLIB): 90 @: 91 92 include $(SRC)/cmd/Makefile.targ 93 94 install: all $(FSTYPEPROG) $(OTHERINSTALL) 95 96 clean: 97 98