Home | History | Annotate | Download | only in i86xpv
      1   5084  johnlev #
      2   5084  johnlev # CDDL HEADER START
      3   5084  johnlev #
      4   5084  johnlev # The contents of this file are subject to the terms of the
      5   5084  johnlev # Common Development and Distribution License (the "License").
      6   5084  johnlev # You may not use this file except in compliance with the License.
      7   5084  johnlev #
      8   5084  johnlev # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
      9   5084  johnlev # or http://www.opensolaris.org/os/licensing.
     10   5084  johnlev # See the License for the specific language governing permissions
     11   5084  johnlev # and limitations under the License.
     12   5084  johnlev #
     13   5084  johnlev # When distributing Covered Code, include this CDDL HEADER in each
     14   5084  johnlev # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
     15   5084  johnlev # If applicable, add the following below this CDDL HEADER, with the
     16   5084  johnlev # fields enclosed by brackets "[]" replaced with your own identifying
     17   5084  johnlev # information: Portions Copyright [yyyy] [name of copyright owner]
     18   5084  johnlev #
     19   5084  johnlev # CDDL HEADER END
     20   5084  johnlev #
     21   5084  johnlev 
     22   5084  johnlev #
     23  10923     Evan # Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
     24   5084  johnlev # Use is subject to license terms.
     25   5084  johnlev #
     26   5084  johnlev 
     27   5084  johnlev #
     28   5084  johnlev #	This Makefile defines the build rules for the directory uts/i86xpv
     29   5084  johnlev #	and its children. These are the source files which are i86xpv
     30   5084  johnlev #	"implementation architecture" dependent.
     31   5084  johnlev #
     32   5084  johnlev #	The following two-level ordering must be maintained in this file.
     33   5084  johnlev #
     34   5084  johnlev #	- Lines are sorted first in order of decreasing specificity based on
     35   5084  johnlev #	  the first directory component.  That is, sun4u rules come before
     36   5084  johnlev #	  sparc rules come before common rules.
     37   5084  johnlev #
     38   5084  johnlev #	- Lines whose initial directory components are equal are sorted
     39   5084  johnlev #	  alphabetically by the remaining components.
     40   5084  johnlev #
     41   5084  johnlev 
     42   5084  johnlev #
     43   5084  johnlev #	We share many files with the i86pc implementation to reduce
     44   5084  johnlev #	the amount of merge work
     45   5084  johnlev #
     46   5084  johnlev 
     47   5084  johnlev #
     48   5084  johnlev #	Section 1a: C object build rules
     49   5084  johnlev #
     50   5084  johnlev $(OBJS_DIR)/%.o:		$(UTSBASE)/i86xpv/conf/%.c
     51   7532     Sean 	$(COMPILE.c) -o $@ $<
     52   7532     Sean 	$(CTFCONVERT_O)
     53   7532     Sean 
     54   7532     Sean $(OBJS_DIR)/%.o:		$(UTSBASE)/i86xpv/cpu/generic_cpu/%.c
     55   5084  johnlev 	$(COMPILE.c) -o $@ $<
     56   5084  johnlev 	$(CTFCONVERT_O)
     57   5084  johnlev 
     58   5084  johnlev $(OBJS_DIR)/%.o:		$(UTSBASE)/i86xpv/io/%.c
     59   6707   brutus 	$(COMPILE.c) -o $@ $<
     60   6707   brutus 	$(CTFCONVERT_O)
     61   6707   brutus 
     62   6707   brutus $(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/io/ioat/%.c
     63   5084  johnlev 	$(COMPILE.c) -o $@ $<
     64   5084  johnlev 	$(CTFCONVERT_O)
     65   5084  johnlev 
     66   5084  johnlev $(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/io/pci/%.c
     67   5084  johnlev 	$(COMPILE.c) -o $@ $<
     68   5084  johnlev 	$(CTFCONVERT_O)
     69   5084  johnlev 
     70   5084  johnlev $(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/io/pciex/%.c
     71  10923     Evan 	$(COMPILE.c) -o $@ $<
     72  10923     Evan 	$(CTFCONVERT_O)
     73  10923     Evan 
     74  10923     Evan $(OBJS_DIR)/%.o:		$(UTSBASE)/intel/io/pciex/hotplug/%.c
     75   5084  johnlev 	$(COMPILE.c) -o $@ $<
     76   5084  johnlev 	$(CTFCONVERT_O)
     77   5084  johnlev 
     78   5084  johnlev $(OBJS_DIR)/%.o:		$(UTSBASE)/i86xpv/io/psm/%.c
     79   5084  johnlev 	$(COMPILE.c) -o $@ $<
     80   5084  johnlev 	$(CTFCONVERT_O)
     81   5084  johnlev 
     82   5084  johnlev $(OBJS_DIR)/%.o:		$(UTSBASE)/i86xpv/ml/%.s
     83   5084  johnlev 	$(COMPILE.s) -o $@ $<
     84   5084  johnlev 
     85   5084  johnlev $(OBJS_DIR)/%.o:		$(UTSBASE)/i86xpv/os/%.c
     86   5084  johnlev 	$(COMPILE.c) -o $@ $<
     87   5084  johnlev 	$(CTFCONVERT_O)
     88   5084  johnlev 
     89   5084  johnlev $(OBJS_DIR)/%.o:		$(UTSBASE)/i86xpv/vm/%.c
     90   5084  johnlev 	$(COMPILE.c) -o $@ $<
     91   5084  johnlev 	$(CTFCONVERT_O)
     92   5084  johnlev 
     93   5084  johnlev $(OBJS_DIR)/%.o:		$(UTSBASE)/i86xpv/boot/%.c
     94   5084  johnlev 	$(COMPILE.c) -o $@ $<
     95   5084  johnlev 	$(CTFCONVERT_O)
     96   5084  johnlev 
     97   5084  johnlev $(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/boot/%.c
     98   5084  johnlev 	$(COMPILE.c) -o $@ $<
     99   5084  johnlev 	$(CTFCONVERT_O)
    100   5084  johnlev 
    101   5084  johnlev $(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/io/gfx_private/%.c
    102   5084  johnlev 	$(COMPILE.c) -o $@ $<
    103   5084  johnlev 	$(CTFCONVERT_O)
    104   5084  johnlev 
    105   5084  johnlev $(OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/io/xsvc/%.c
    106   5084  johnlev 	$(COMPILE.c) -o $@ $<
    107   5084  johnlev 	$(CTFCONVERT_O)
    108   5084  johnlev 
    109   5084  johnlev #	We need this one to make sure we share dtrace_subr.c with i86pc
    110   5084  johnlev #	Otherwise we pick up common/os/dtrace_subr.c instead :(
    111   5084  johnlev #	Note that only the non-commented versions of this hack end up
    112   5084  johnlev #	in the lint section below.
    113   5084  johnlev 
    114   5084  johnlev $(OBJS_DIR)/dtrace_subr.o:	$(UTSBASE)/i86pc/os/dtrace_subr.c
    115   5084  johnlev 	$(COMPILE.c) -o $@ $(UTSBASE)/i86pc/os/dtrace_subr.c
    116   5084  johnlev 	$(CTFCONVERT_O)
    117   5084  johnlev 
    118   5084  johnlev #
    119   5084  johnlev $(OBJS_DIR)/%.o:		$(UTSBASE)/common/cpr/%.c
    120   5084  johnlev 	$(COMPILE.c) -o $@ $<
    121   5084  johnlev 	$(CTFCONVERT_O)
    122   5084  johnlev 
    123   5084  johnlev $(OBJS_DIR)/%.o:		$(UTSBASE)/common/xen/io/%.c
    124   5084  johnlev 	$(COMPILE.c) -o $@ $<
    125   5084  johnlev 	$(CTFCONVERT_O)
    126   5084  johnlev 
    127   5084  johnlev $(OBJS_DIR)/%.o:		$(UTSBASE)/common/xen/os/%.c
    128   5084  johnlev 	$(COMPILE.c) -o $@ $<
    129   5084  johnlev 	$(CTFCONVERT_O)
    130   5084  johnlev 
    131   6670    tariq $(OBJS_DIR)/%.o:		$(UTSBASE)/common/xen/dtrace/%.c
    132   6670    tariq 	$(COMPILE.c) -o $@ $<
    133   6670    tariq 	$(CTFCONVERT_O)
    134   6670    tariq 
    135   5084  johnlev #
    136   5084  johnlev #	Section 1b: Lint `object' build rules
    137   5084  johnlev #
    138   5084  johnlev $(LINTS_DIR)/%.ln:		$(UTSBASE)/i86xpv/conf/%.c
    139   5084  johnlev 	@($(LHEAD) $(LINT.c) $< $(LTAIL))
    140   5084  johnlev 
    141   5084  johnlev $(LINTS_DIR)/%.ln:		$(UTSBASE)/i86xpv/io/%.c
    142   5084  johnlev 	@($(LHEAD) $(LINT.c) $< $(LTAIL))
    143   5084  johnlev 
    144   5084  johnlev $(LINTS_DIR)/%.ln:		$(UTSBASE)/i86xpv/io/psm/%.c
    145   5084  johnlev 	@($(LHEAD) $(LINT.c) $< $(LTAIL))
    146   5084  johnlev 
    147   5084  johnlev $(LINTS_DIR)/%.ln:		$(UTSBASE)/i86xpv/ml/%.s
    148   5084  johnlev 	@($(LHEAD) $(LINT.s) $< $(LTAIL))
    149   5084  johnlev 
    150   5084  johnlev $(LINTS_DIR)/%.ln:		$(UTSBASE)/i86xpv/os/%.c
    151   5084  johnlev 	@($(LHEAD) $(LINT.c) $< $(LTAIL))
    152   5084  johnlev 
    153   5084  johnlev $(LINTS_DIR)/%.ln:		$(UTSBASE)/i86xpv/vm/%.c
    154   5084  johnlev 	@($(LHEAD) $(LINT.c) $< $(LTAIL))
    155   5084  johnlev 
    156   5084  johnlev $(LINTS_DIR)/%.ln:		$(UTSBASE)/i86xpv/boot/%.c
    157   5084  johnlev 	@($(LHEAD) $(LINT.c) $< $(LTAIL))
    158   5084  johnlev 
    159   5084  johnlev $(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/boot/%.c
    160   6670    tariq 	@($(LHEAD) $(LINT.c) $< $(LTAIL))
    161   6670    tariq 
    162   6670    tariq $(LINTS_DIR)/%.ln:		$(UTSBASE)/common/xen/dtrace/%.c
    163   5084  johnlev 	@($(LHEAD) $(LINT.c) $< $(LTAIL))
    164   5084  johnlev 
    165   5084  johnlev #	See note above.
    166   5084  johnlev 
    167   5084  johnlev $(LINTS_DIR)/dtrace_subr.ln:	$(UTSBASE)/i86pc/os/dtrace_subr.c
    168   5084  johnlev 	@($(LHEAD) $(LINT.c) $(UTSBASE)/i86pc/os/dtrace_subr.c $(LTAIL))
    169   5084  johnlev 
    170   5084  johnlev #
    171   5084  johnlev # stuff for dboot
    172   5084  johnlev #
    173   5084  johnlev # This is different from i86pc - uses 64 bit compiler for 64 bit
    174   5084  johnlev #
    175   5084  johnlev # Note that we *don't* want to use the definitions that have been augmented
    176   5084  johnlev # by various bits of the context of the kernel build environment; so we
    177   5084  johnlev # start constructing flags and things afresh.
    178   5084  johnlev 
    179   5084  johnlev DBOOT_OBJS_DIR= dboot/$(OBJS_DIR)
    180   5084  johnlev 
    181   5084  johnlev DBOOT_XARCH_32 = $(i386_XARCH)
    182   5084  johnlev DBOOT_XARCH_64 = $(amd64_XARCH)
    183   5084  johnlev DBOOT_CFLAGS = $(DBOOT_XARCH_$(CLASS)) $(CERRWARN) -O
    184   5084  johnlev 
    185   5084  johnlev DBOOT_AS_XARCH_32 = $(i386_AS_XARCH)
    186   5084  johnlev DBOOT_AS_XARCH_64 = $(amd64_AS_XARCH)
    187   5084  johnlev DBOOT_ASFLAGS = $(DBOOT_AS_XARCH_$(CLASS)) -P -D_ASM
    188   5084  johnlev 
    189   5084  johnlev DBOOT_LINTFLAGS_i86xpv	= $(LINTFLAGS_i386_$(CLASS)) $(LINTTAGS_i386_$(CLASS))
    190   5084  johnlev 
    191   5741      mrj $(DBOOT_OBJS_DIR)/%.o:		$(UTSBASE)/common/xen/os/%.c
    192   5741      mrj 	$(CC) $(DBOOT_CFLAGS) $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $<
    193   5741      mrj 
    194   5084  johnlev $(DBOOT_OBJS_DIR)/%.o:		$(UTSBASE)/i86xpv/boot/%.c
    195   5084  johnlev 	$(CC) $(DBOOT_CFLAGS) $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $<
    196   5084  johnlev 
    197   5084  johnlev $(DBOOT_OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/boot/%.c
    198   5084  johnlev 	$(CC) $(DBOOT_CFLAGS) $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $<
    199   5084  johnlev 
    200   5084  johnlev $(DBOOT_OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/dboot/%.c
    201   5084  johnlev 	$(CC) $(DBOOT_CFLAGS)  $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $<
    202   5084  johnlev 
    203   5084  johnlev $(DBOOT_OBJS_DIR)/%.o:		$(COMMONBASE)/util/%.c
    204   5084  johnlev 	$(CC) $(DBOOT_CFLAGS) $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $<
    205   5084  johnlev 
    206   5084  johnlev $(DBOOT_OBJS_DIR)/%.o:		$(UTSBASE)/i86xpv/os/%.c
    207   5084  johnlev 	$(CC) $(DBOOT_CFLAGS) $(DBOOT_DEFS) $(DBOOT_CC_INCL) -c -o $@ $<
    208   5741      mrj 
    209   5741      mrj $(DBOOT_OBJS_DIR)/%.o:		$(UTSBASE)/intel/ia32/ml/%.s
    210   5741      mrj 	$(AS) $(DBOOT_ASFLAGS) $(DBOOT_DEFS) $(DBOOT_AS_INCL) -o $@ $<
    211   5084  johnlev 
    212   5084  johnlev $(DBOOT_OBJS_DIR)/%.o:		$(COMMONBASE)/util/i386/%.s
    213   5084  johnlev 	$(AS) $(DBOOT_ASFLAGS) $(DBOOT_DEFS) $(DBOOT_AS_INCL) -o $@ $<
    214   5084  johnlev 
    215   5084  johnlev $(DBOOT_OBJS_DIR)/%.o:		$(UTSBASE)/i86xpv/ml/%.s
    216   5084  johnlev 	$(AS) $(DBOOT_ASFLAGS) $(DBOOT_DEFS) $(DBOOT_AS_INCL) -o $@ $<
    217   5084  johnlev 
    218   5084  johnlev $(DBOOT_OBJS_DIR)/%.o:		$(UTSBASE)/i86pc/dboot/%.s
    219   5084  johnlev 	$(AS) $(DBOOT_ASFLAGS) $(DBOOT_DEFS) $(DBOOT_AS_INCL) -o $@ $<
    220   5084  johnlev 
    221   5084  johnlev include $(UTSBASE)/i86pc/Makefile.rules
    222   5084  johnlev 
    223   5084  johnlev DBOOT_DEFS += -D__xpv
    224   5084  johnlev 
    225   5084  johnlev $(LINTS_DIR)/%.ln:		$(UTSBASE)/common/cpr/%.c
    226   5084  johnlev 	@($(LHEAD) $(LINT.c) $< $(LTAIL))
    227   5084  johnlev 
    228   6707   brutus $(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/io/ioat/%.c
    229   6707   brutus 	@($(LHEAD) $(LINT.c) $< $(LTAIL))
    230   6707   brutus 
    231   5084  johnlev $(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/io/pci/%.c
    232   5084  johnlev 	@($(LHEAD) $(LINT.c) $< $(LTAIL))
    233   5084  johnlev 
    234   5084  johnlev $(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/io/pciex/%.c
    235   5084  johnlev 	@($(LHEAD) $(LINT.c) $< $(LTAIL))
    236   5084  johnlev 
    237  10923     Evan $(LINTS_DIR)/%.ln:		$(UTSBASE)/intel/io/pciex/hotplug/%.c
    238  10923     Evan 	@($(LHEAD) $(LINT.c) $< $(LTAIL))
    239  10923     Evan 
    240   5084  johnlev $(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/io/gfx_private/%.c
    241   5084  johnlev 	@($(LHEAD) $(LINT.c) $< $(LTAIL))
    242   5084  johnlev 
    243   5084  johnlev $(LINTS_DIR)/%.ln:		$(UTSBASE)/i86pc/io/xsvc/%.c
    244   5084  johnlev 	@($(LHEAD) $(LINT.c) $< $(LTAIL))
    245   5084  johnlev 
    246   5084  johnlev $(LINTS_DIR)/%.ln:		$(UTSBASE)/common/xen/io/%.c
    247   5084  johnlev 	@($(LHEAD) $(LINT.c) $< $(LTAIL))
    248   5084  johnlev 
    249   5084  johnlev $(LINTS_DIR)/%.ln:		$(UTSBASE)/common/xen/os/%.c
    250   5084  johnlev 	@($(LHEAD) $(LINT.c) $< $(LTAIL))
    251   5084  johnlev 
    252   5741      mrj $(DBOOT_LINTS_DIR)/%.ln:		$(UTSBASE)/intel/ia32/ml/%.s
    253   5741      mrj 	@($(LHEAD) $(DBOOT_LINT) $(DBOOT_LOCAL_LINTFLAGS) $< $(LTAIL))
    254   5741      mrj 
    255   5741      mrj $(DBOOT_LINTS_DIR)/%.ln:		$(UTSBASE)/common/xen/os/%.c
    256   5741      mrj 	@($(LHEAD) $(DBOOT_LINT) $(DBOOT_LOCAL_LINTFLAGS) $< $(LTAIL))
    257   5741      mrj 
    258   5084  johnlev $(DBOOT_LINTS_DIR)/%.ln:		$(UTSBASE)/i86xpv/os/%.c
    259   5084  johnlev 	@($(LHEAD) $(DBOOT_LINT) $(DBOOT_LOCAL_LINTFLAGS) $< $(LTAIL))
    260   5084  johnlev 
    261   5084  johnlev $(DBOOT_LINTS_DIR)/%.ln:		$(UTSBASE)/i86xpv/ml/%.s
    262   5084  johnlev 	@($(LHEAD) $(DBOOT_LINT) $(DBOOT_LOCAL_LINTFLAGS) $< $(LTAIL))
    263   5084  johnlev 
    264   5084  johnlev $(DBOOT_LINTS_DIR)/%.ln:		$(UTSBASE)/i86xpv/boot/%.c
    265   5084  johnlev 	@($(LHEAD) $(DBOOT_LINT) $(DBOOT_LOCAL_LINTFLAGS) $< $(LTAIL))
    266