Makefile revision 45916cd2fec6e79bca5dee0421bd39e3c2910d1e
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce#
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# CDDL HEADER START
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce#
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# The contents of this file are subject to the terms of the
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# Common Development and Distribution License (the "License").
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# You may not use this file except in compliance with the License.
841179549b6433e782c164a562eb3422f603533dAndreas Gustafsson#
fcc9f7f86c2fa2ceb8a5c16dc934fea7fa6887f2Andreas Gustafsson# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# or http://www.opensolaris.org/os/licensing.
fcc9f7f86c2fa2ceb8a5c16dc934fea7fa6887f2Andreas Gustafsson# See the License for the specific language governing permissions
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# and limitations under the License.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce#
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# When distributing Covered Code, include this CDDL HEADER in each
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# If applicable, add the following below this CDDL HEADER, with the
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# fields enclosed by brackets "[]" replaced with your own identifying
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# information: Portions Copyright [yyyy] [name of copyright owner]
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce#
fcc9f7f86c2fa2ceb8a5c16dc934fea7fa6887f2Andreas Gustafsson# CDDL HEADER END
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce#
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce#
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# Use is subject to license terms.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce#
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# ident "%Z%%M% %I% %E% SMI"
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce#
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# Makefile for Removable Media Mounter.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce#
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# cmd/volmgt/rmm/Makefile
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce#
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric LucePROG= rmmount
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
fcc9f7f86c2fa2ceb8a5c16dc934fea7fa6887f2Andreas Gustafssoninclude ../../../lib/Makefile.lib
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceinclude ../../Makefile.cmd
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceinclude ../Makefile.volmgt
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric LuceSED= sed
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric LuceOBJS= rmm.o rmm_util.o rmm_config.o
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric LuceSRCS= $(OBJS:%.o=%.c) ${ACTS:%.so.$(ACT_VERS)=%.c}
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# identification functions are in src/cmd/fs.d/<fstype>.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric LuceIDENT_VERS=1
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# actions
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric LuceACT_VERS=1
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric LuceACTSVOL= action_workman.so.${ACT_VERS} action_dvdvideo.so.${ACT_VERS}
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric LuceACTS= $(ACTSVOL) action_filemgr.so.${ACT_VERS}
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric LuceCFLAGS += $(CCVERBOSE) -D_FILE_OFFSET_BITS=64
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric LuceCPPFLAGS += -DACT_VERS=${ACT_VERS} -DIDENT_VERS=${IDENT_VERS}
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce$(PROG) := LDLIBS += -lvolmgt -ladm -lcontract
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce$(ACTSVOL) := LDLIBS += -lvolmgt
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce$(ACTS) := LDLIBS += -lc
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# to get the correct DSO flags used for compilation/linking
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# (should also use "-zdefs" for DYNFLAGS, but ACTS are not yet self-contained)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce$(ACTS) := CFLAGS += $(C_PICFLAGS)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce$(ACTS) := HSONAME =
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce$(ACTS) := ZDEFS =
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# for messaging catalog
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce#
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric LucePOFILE= rmm.po
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce#
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# Rules for making shared objects out of .c files. Works well if
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# we have a one-to-one mapping. Applies in all cases so far.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce#
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce.SUFFIXES: .so.${ACT_VERS} ${SUFFIXES}
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce.c.so.${ACT_VERS}:
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ${CC} ${CPPFLAGS} ${CFLAGS} $(GSHARED) -o $@ $< $(DYNFLAGS) $(LDLIBS)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce $(POST_PROCESS_SO)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce# install macros and rule
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce#
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric LuceROOTUSRSBINPROG= ${PROG:%=${ROOTUSRSBIN}/%}
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric LuceRMMLIBOBJS= ${ACTS:%=${RMMLIBDIR}/%}
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Lucelint := LINTFLAGS += -errchk=longptr64
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce${RMMLIBDIR}/%: %
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ${INS.file}
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce.KEEP_STATE:
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceall: ${PROG} ${ACTS}
9ffd207c48e20881634d91210885c0a177124ca9Andreas Gustafsson
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Lucecatalog: $(POFILE)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce$(POFILE): $(SRCS)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce $(RM) $@
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce $(COMPILE.cpp) $(SRCS) | \
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce $(XGETTEXT) $(XGETFLAGS) -
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce $(SED) -e '/^domain/d' messages.po > $@
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce $(RM) messages.po
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce${PROG}: ${OBJS}
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ${LINK.c} -o $@ ${OBJS} $(LDLIBS)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce $(POST_PROCESS)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Lucelint:
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce $(LINT.c) ${SRCS}
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Lucecstyle:
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ${CSTYLE} ${SRCS}
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceinstall: all ${RMMLIBDIR} ${RMMLIBOBJS} ${ROOTUSRSBINPROG}
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce${RMMLIBDIR}:
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ${INS.dir}
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceclean:
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ${RM} $(OBJS) ${ACTS} core a.out
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceclobber: clean
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce ${RM} $(PROG)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce