Home | History | Annotate | Download | only in ibd
      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 2010 Sun Microsystems, Inc.  All rights reserved.
     23 # Use is subject to license terms.
     24 #
     25 #
     26 
     27 #
     28 #	Path to the base of the uts directory tree (usually /usr/src/uts).
     29 #
     30 UTSBASE	= ../..
     31 
     32 #
     33 #	Define the module and object file sets.
     34 #
     35 MODULE		= ibd
     36 OBJECTS		= $(IBD_OBJS:%=$(OBJS_DIR)/%)
     37 LINTS		= $(IBD_OBJS:%.o=$(LINTS_DIR)/%.ln)
     38 ROOTMODULE	= $(ROOT_DRV_DIR)/$(MODULE)
     39 CONF_SRCDIR	= $(UTSBASE)/common/io/ib/clients/ibd
     40 LDFLAGS		+= -dy -Nmisc/mac -Nmisc/ibtl -Nmisc/ibcm -Nmisc/ibmf -Ndrv/ip
     41 WARLOCK_OUT     = $(IBD_OBJS:%.o=%.ll)
     42 WARLOCK_OK	= $(MODULE).ok
     43 WLCMD_DIR	= $(UTSBASE)/common/io/warlock
     44 #
     45 #	Include common rules.
     46 #
     47 include $(UTSBASE)/sparc/Makefile.sparc
     48 
     49 #
     50 #	Define targets
     51 #
     52 ALL_TARGET	= $(BINARY) $(SRC_CONFFILE)
     53 LINT_TARGET	= $(MODULE).lint
     54 INSTALL_TARGET	= $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE)
     55 
     56 #
     57 #	Overrides
     58 #
     59 ALL_BUILDS	= $(ALL_BUILDSONLY64)
     60 DEF_BUILDS	= $(DEF_BUILDSONLY64)
     61 CLEANLINTFILES	+= $(LINT32_FILES)
     62 
     63 # 
     64 # lint pass one enforcement 
     65 # 
     66 CFLAGS += $(CCVERBOSE)
     67 
     68 #
     69 # For now, disable these lint checks; maintainers should endeavor
     70 # to investigate and remove these for maximum lint coverage.
     71 # Please do not carry these forward to new Makefiles.
     72 #
     73 LINTTAGS	+= -erroff=E_BAD_PTR_CAST_ALIGN
     74 LINTTAGS	+= -erroff=E_PTRDIFF_OVERFLOW
     75 
     76 #
     77 #	Default build targets.
     78 #
     79 .KEEP_STATE:
     80 
     81 def:		$(DEF_DEPS)
     82 
     83 all:		$(ALL_DEPS)
     84 
     85 clean:		$(CLEAN_DEPS)
     86 		$(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
     87 
     88 clobber:	$(CLOBBER_DEPS)
     89 		$(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
     90 
     91 lint:		$(LINT_DEPS)
     92 
     93 modlintlib:	$(MODLINTLIB_DEPS) lint32
     94 
     95 clean.lint:	$(CLEAN_LINT_DEPS)
     96 
     97 install:	$(INSTALL_DEPS)
     98 
     99 #
    100 #	Include common targets.
    101 #
    102 include $(UTSBASE)/sparc/Makefile.targ
    103 
    104 #
    105 #       Defines for local commands.
    106 #
    107 WARLOCK         = warlock
    108 WLCC            = wlcc
    109 TOUCH           = touch
    110 TEST            = test
    111 
    112 warlock: $(WARLOCK_OK) $(WARLOCK_OUT)
    113 
    114 $(WARLOCK_OK): $(WARLOCK_OUT) $(WLCMD_DIR)/ibd.wlcmd warlock_ddi.files
    115 	$(WARLOCK) -c $(WLCMD_DIR)/ibd.wlcmd $(WARLOCK_OUT) \
    116 		-l ../warlock/ddi_dki_impl.ll
    117 	$(TOUCH) $@
    118 
    119 %.ll: $(UTSBASE)/common/io/ib/clients/ibd/%.c \
    120 	$(UTSBASE)/common/sys/ib/clients/ibd/ibd.h
    121 	$(WLCC)  $(CPPFLAGS) -DDEBUG -o $@ $<
    122 
    123 warlock_ddi.files:
    124 	@cd ../warlock; pwd; $(MAKE) warlock
    125