Merge branch 'master' of git://github.com/illumos/illumos-gate
[unleashed.git] / usr / src / grub / grub-0.97 / netboot / Makefile.solaris
blobaf7687fe4f12986fbfdbbd7aab7ecae04976c877
2 # Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
3 # Use is subject to license terms.
5 # ident "%Z%%M% %I%     %E% SMI"
7 include ../../Makefile.grub
8 include ../Makefile.solaris.defs
10 LIBDRIVERS = libdrivers.a
12 LIBDRIVERS_OBJS = $(LIB_OBJS) $(DRIVER_OBJS)
14 LIB_OBJS        = libdrivers_a-basemem.o        \
15                   libdrivers_a-config.o         \
16                   libdrivers_a-fsys_tftp.o      \
17                   libdrivers_a-i386_timer.o     \
18                   libdrivers_a-misc.o           \
19                   libdrivers_a-nic.o            \
20                   libdrivers_a-pci.o            \
21                   libdrivers_a-pci_io.o         \
22                   libdrivers_a-pic8259.o        \
23                   libdrivers_a-timer.o
24 $(LIB_OBJS)     := CFLAGS = $(BASE_CFLAGS) -Os -fno-builtin -nostdinc \
25                         -DFSYS_TFTP=1 $(NET_CFLAGS) $(NET_EXTRAFLAGS)
28 # The following netboot drivers are available.
29 # NOTE: Compiling too many netboot drivers into stage2 could cause GRUB to
30 #       crash or misbehave.
31 # NOTE: NET_CFLAGS has to be adjusted to correspond to the drivers
32 #       selected in $(DRIVER_OBJS).
34 #       3c595.o         - 3Com595 driver
35 #       3c90x.o         - 3Com90x driver
36 #       davicom.o       - Davicom driver
37 #       e1000.o         - Etherexpress Pro/1000 driver
38 #       eepro100.o      - Etherexpress Pro/100 driver
39 #       epic100.o       - SMC 83c170 EPIC/100 driver
40 #       forcedeth.o     - Nvidia Geforce driver
41 #       natsemi.o       - NatSemi DP8381x driver
42 #       ns83820.o       - NS83820 driver
43 #       ns8390.o        - NE2000 PCI driver
44 #       pcnet32.o       - AMD Lance/PCI PCNet/32 driver
45 #       pnic.o          - Bochs Pseudo Nic driver
46 #       r8169.o         - Realtek 8169 driver
47 #       rtl8139.o       - Realtek 8139 driver
48 #       sis900.o        - SIS 900 and SIS 7016 driver
49 #       sundance.o      - Sundance ST201 driver
50 #       tg3.o           - Broadcom Tigon3 driver
51 #       tlan.o          - TI ThunderLAN driver
52 #       tulip.o         - Tulip driver
53 #       undi.o          - PXE UNDI driver
54 #       via-rhine.o     - Rhine-I/II driver
55 #       w89c840.o       - Winbond W89c840 driver
57 DRIVER_OBJS     = undi.o
59 NET_CFLAGS      = -DINCLUDE_UNDI=1
61 $(DRIVER_OBJS)  := CFLAGS = $(BASE_CFLAGS) -Os -fno-builtin -nostdinc \
62                         $(NET_EXTRAFLAGS) $(DRIVER_DEFS)
64 3c595.o         := DRIVER_DEFS = -DINCLUDE_3C595=1
65 3c90x.o         := DRIVER_DEFS = -DINCLUDE_3C90X=1
66 davicom.o       := DRIVER_DEFS = -DINCLUDE_DAVICOM=1
67 e1000.o         := DRIVER_DEFS = -DINCLUDE_E1000=1
68 eepro100.o      := DRIVER_DEFS = -DINCLUDE_EEPRO100=1
69 epic100.o       := DRIVER_DEFS = -DINCLUDE_EPIC100=1
70 forcedeth.o     := DRIVER_DEFS = -DINCLUDE_FORCEDETH=1
71 natsemi.o       := DRIVER_DEFS = -DINCLUDE_NATSEMI=1
72 ns83820.o       := DRIVER_DEFS = -DINCLUDE_NS83820=1
73 ns8390.o        := DRIVER_DEFS = -DINCLUDE_NS8390=1
74 pcnet32.o       := DRIVER_DEFS = -DINCLUDE_PCNET32=1
75 pnic.o          := DRIVER_DEFS = -DINCLUDE_PNIC=1
76 r8169.o         := DRIVER_DEFS = -DINCLUDE_R8169=1
77 rtl8139.o       := DRIVER_DEFS = -DINCLUDE_RTL8139=1
78 sis900.o        := DRIVER_DEFS = -DINCLUDE_SIS900=1
79 sundance.o      := DRIVER_DEFS = -DINCLUDE_SUNDANCE=1
80 tg3.o           := DRIVER_DEFS = -DINCLUDE_TG3=1
81 tlan.o          := DRIVER_DEFS = -DINCLUDE_TLAN=1
82 tulip.o         := DRIVER_DEFS = -DINCLUDE_TULIP=1
83 undi.o          := DRIVER_DEFS = -DINCLUDE_UNDI=1
84 via-rhine.o     := DRIVER_DEFS = -DINCLUDE_VIA_RHINE=1
85 w89c840.o       := DRIVER_DEFS = -DINCLUDE_W89C840=1
87 3c595.o         := DRIVER_SRC = 3c595.c
88 3c90x.o         := DRIVER_SRC = 3c90x.c
89 davicom.o       := DRIVER_SRC = davicom.c
90 e1000.o         := DRIVER_SRC = e1000.c
91 eepro100.o      := DRIVER_SRC = eepro100.c
92 epic100.o       := DRIVER_SRC = epic100.c
93 forcedeth.o     := DRIVER_SRC = forcedeth.c
94 natsemi.o       := DRIVER_SRC = natsemi.c
95 ns83820.o       := DRIVER_SRC = ns83820.c
96 ns8390.o        := DRIVER_SRC = ns8390.c
97 pcnet32.o       := DRIVER_SRC = pcnet32.c
98 pnic.o          := DRIVER_SRC = pnic.c
99 r8169.o         := DRIVER_SRC = r8169.c
100 rtl8139.o       := DRIVER_SRC = rtl8139.c
101 sis900.o        := DRIVER_SRC = sis900.c
102 sundance.o      := DRIVER_SRC = sundance.c
103 tg3.o           := DRIVER_SRC = tg3.c
104 tlan.o          := DRIVER_SRC = tlan.c
105 tulip.o         := DRIVER_SRC = tulip.c
106 undi.o          := DRIVER_SRC = undi.c
107 via-rhine.o     := DRIVER_SRC = via-rhine.c
108 w89c840.o       := DRIVER_SRC = w89c840.c
111 INCLUDES        = -I. -I.. -I../stage2 -I../stage1
113 NET_EXTRAFLAGS  = -DCONFIG_PCI                          \
114                   -DCONFIG_PCI_DIRECT=1                 \
115                   -DCONGESTED=1                         \
116                   -DNE_SCAN=0x280,0x300,0x320,0x340     \
117                   -DWD_DEFAULT_MEM=0xCC000
120 # Source files to be installed in $(SRC_DIR).
122 SRC_DIR         = $(ROOT_SRC)/netboot
123 SRC_FILES       = Makefile.am Makefile.in README.netboot \
124                   3c595.c 3c595.h 3c90x.c basemem.c big_bswap.h bootp.h \
125                   byteswap.h config.c cpu.h davicom.c dev.h e1000.c \
126                   e1000_hw.h eepro100.c elf.h endian.h epic100.c epic100.h \
127                   etherboot.h forcedeth.c fsys_tftp.c grub.h i386_byteswap.h \
128                   i386_elf.h i386_endian.h i386_timer.c if_arp.h if_ether.h \
129                   igmp.h in.h io.h ip.h isa.h latch.h little_bswap.h mii.h \
130                   misc.c natsemi.c nfs.h nic.c nic.h ns83820.c ns8390.c \
131                   ns8390.h osdep.h pci.c pci.h pci_ids.h pci_io.c pcnet32.c \
132                   pic8259.c pic8259.h pnic.c pnic_api.h pxe.h r8169.c \
133                   rtl8139.c segoff.h sis900.c sis900.h stdint.h sundance.c \
134                   tftp.h tg3.c tg3.h timer.c timer.h tlan.c tlan.h tulip.c \
135                   types.h udp.h undi.c undi.h via-rhine.c w89c840.c
137 INSTALL_TARGETS = $(SRC_FILES:%=$(SRC_DIR)/%)
140 all: $(LIBDRIVERS)
142 $(LIBDRIVERS): $(LIBDRIVERS_OBJS)
143         $(RM) $@
144         $(AR) cru $@ $(LIBDRIVERS_OBJS)
145         $(RANLIB) $@
147 $(LIB_OBJS): $$(@:libdrivers_a-%.o=%.c)
148         $(CC) $(CFLAGS) -c -o $@ $(@:libdrivers_a-%.o=%.c)
150 $(DRIVER_OBJS): $$(DRIVER_SRC)
151         $(CC) $(CFLAGS) -c -o $@ $(DRIVER_SRC)
154 install: all $(INSTALL_TARGETS)
156 $(SRC_DIR)/%: $(SRC_DIR) %
157         $(INS.file)
159 $(SRC_DIR):
160         $(INS.dir)
163 clean: _FORCE
164         $(RM) *.o $(LIBDRIVERS)
166 clobber: clean
168 _FORCE: