1*8044SWilliam.Kucharski@Sun.COM# 2*8044SWilliam.Kucharski@Sun.COM# Copyright 2005 Sun Microsystems, Inc. All rights reserved. 3*8044SWilliam.Kucharski@Sun.COM# Use is subject to license terms. 4*8044SWilliam.Kucharski@Sun.COM# 5*8044SWilliam.Kucharski@Sun.COM# ident "%Z%%M% %I% %E% SMI" 6*8044SWilliam.Kucharski@Sun.COM# 7*8044SWilliam.Kucharski@Sun.COMinclude ../../Makefile.grub 8*8044SWilliam.Kucharski@Sun.COMinclude ../Makefile.solaris.defs 9*8044SWilliam.Kucharski@Sun.COM 10*8044SWilliam.Kucharski@Sun.COMLIBDRIVERS = libdrivers.a 11*8044SWilliam.Kucharski@Sun.COM 12*8044SWilliam.Kucharski@Sun.COMLIBDRIVERS_OBJS = $(LIB_OBJS) $(DRIVER_OBJS) 13*8044SWilliam.Kucharski@Sun.COM 14*8044SWilliam.Kucharski@Sun.COMLIB_OBJS = libdrivers_a-basemem.o \ 15*8044SWilliam.Kucharski@Sun.COM libdrivers_a-config.o \ 16*8044SWilliam.Kucharski@Sun.COM libdrivers_a-fsys_tftp.o \ 17*8044SWilliam.Kucharski@Sun.COM libdrivers_a-i386_timer.o \ 18*8044SWilliam.Kucharski@Sun.COM libdrivers_a-misc.o \ 19*8044SWilliam.Kucharski@Sun.COM libdrivers_a-nic.o \ 20*8044SWilliam.Kucharski@Sun.COM libdrivers_a-pci.o \ 21*8044SWilliam.Kucharski@Sun.COM libdrivers_a-pci_io.o \ 22*8044SWilliam.Kucharski@Sun.COM libdrivers_a-pic8259.o \ 23*8044SWilliam.Kucharski@Sun.COM libdrivers_a-timer.o 24*8044SWilliam.Kucharski@Sun.COM$(LIB_OBJS) := CFLAGS = $(BASE_CFLAGS) -Os -fno-builtin -nostdinc \ 25*8044SWilliam.Kucharski@Sun.COM -DFSYS_TFTP=1 $(NET_CFLAGS) $(NET_EXTRAFLAGS) 26*8044SWilliam.Kucharski@Sun.COM 27*8044SWilliam.Kucharski@Sun.COM# 28*8044SWilliam.Kucharski@Sun.COM# The following netboot drivers are available. 29*8044SWilliam.Kucharski@Sun.COM# NOTE: Compiling too many netboot drivers into stage2 could cause GRUB to 30*8044SWilliam.Kucharski@Sun.COM# crash or misbehave. 31*8044SWilliam.Kucharski@Sun.COM# NOTE: NET_CFLAGS has to be adjusted to correspond to the drivers 32*8044SWilliam.Kucharski@Sun.COM# selected in $(DRIVER_OBJS). 33*8044SWilliam.Kucharski@Sun.COM# 34*8044SWilliam.Kucharski@Sun.COM# 3c595.o - 3Com595 driver 35*8044SWilliam.Kucharski@Sun.COM# 3c90x.o - 3Com90x driver 36*8044SWilliam.Kucharski@Sun.COM# davicom.o - Davicom driver 37*8044SWilliam.Kucharski@Sun.COM# e1000.o - Etherexpress Pro/1000 driver 38*8044SWilliam.Kucharski@Sun.COM# eepro100.o - Etherexpress Pro/100 driver 39*8044SWilliam.Kucharski@Sun.COM# epic100.o - SMC 83c170 EPIC/100 driver 40*8044SWilliam.Kucharski@Sun.COM# forcedeth.o - Nvidia Geforce driver 41*8044SWilliam.Kucharski@Sun.COM# natsemi.o - NatSemi DP8381x driver 42*8044SWilliam.Kucharski@Sun.COM# ns83820.o - NS83820 driver 43*8044SWilliam.Kucharski@Sun.COM# ns8390.o - NE2000 PCI driver 44*8044SWilliam.Kucharski@Sun.COM# pcnet32.o - AMD Lance/PCI PCNet/32 driver 45*8044SWilliam.Kucharski@Sun.COM# pnic.o - Bochs Pseudo Nic driver 46*8044SWilliam.Kucharski@Sun.COM# r8169.o - Realtek 8169 driver 47*8044SWilliam.Kucharski@Sun.COM# rtl8139.o - Realtek 8139 driver 48*8044SWilliam.Kucharski@Sun.COM# sis900.o - SIS 900 and SIS 7016 driver 49*8044SWilliam.Kucharski@Sun.COM# sundance.o - Sundance ST201 driver 50*8044SWilliam.Kucharski@Sun.COM# tg3.o - Broadcom Tigon3 driver 51*8044SWilliam.Kucharski@Sun.COM# tlan.o - TI ThunderLAN driver 52*8044SWilliam.Kucharski@Sun.COM# tulip.o - Tulip driver 53*8044SWilliam.Kucharski@Sun.COM# undi.o - PXE UNDI driver 54*8044SWilliam.Kucharski@Sun.COM# via-rhine.o - Rhine-I/II driver 55*8044SWilliam.Kucharski@Sun.COM# w89c840.o - Winbond W89c840 driver 56*8044SWilliam.Kucharski@Sun.COM# 57*8044SWilliam.Kucharski@Sun.COMDRIVER_OBJS = undi.o 58*8044SWilliam.Kucharski@Sun.COM 59*8044SWilliam.Kucharski@Sun.COMNET_CFLAGS = -DINCLUDE_UNDI=1 60*8044SWilliam.Kucharski@Sun.COM 61*8044SWilliam.Kucharski@Sun.COM$(DRIVER_OBJS) := CFLAGS = $(BASE_CFLAGS) -Os -fno-builtin -nostdinc \ 62*8044SWilliam.Kucharski@Sun.COM $(NET_EXTRAFLAGS) $(DRIVER_DEFS) 63*8044SWilliam.Kucharski@Sun.COM 64*8044SWilliam.Kucharski@Sun.COM3c595.o := DRIVER_DEFS = -DINCLUDE_3C595=1 65*8044SWilliam.Kucharski@Sun.COM3c90x.o := DRIVER_DEFS = -DINCLUDE_3C90X=1 66*8044SWilliam.Kucharski@Sun.COMdavicom.o := DRIVER_DEFS = -DINCLUDE_DAVICOM=1 67*8044SWilliam.Kucharski@Sun.COMe1000.o := DRIVER_DEFS = -DINCLUDE_E1000=1 68*8044SWilliam.Kucharski@Sun.COMeepro100.o := DRIVER_DEFS = -DINCLUDE_EEPRO100=1 69*8044SWilliam.Kucharski@Sun.COMepic100.o := DRIVER_DEFS = -DINCLUDE_EPIC100=1 70*8044SWilliam.Kucharski@Sun.COMforcedeth.o := DRIVER_DEFS = -DINCLUDE_FORCEDETH=1 71*8044SWilliam.Kucharski@Sun.COMnatsemi.o := DRIVER_DEFS = -DINCLUDE_NATSEMI=1 72*8044SWilliam.Kucharski@Sun.COMns83820.o := DRIVER_DEFS = -DINCLUDE_NS83820=1 73*8044SWilliam.Kucharski@Sun.COMns8390.o := DRIVER_DEFS = -DINCLUDE_NS8390=1 74*8044SWilliam.Kucharski@Sun.COMpcnet32.o := DRIVER_DEFS = -DINCLUDE_PCNET32=1 75*8044SWilliam.Kucharski@Sun.COMpnic.o := DRIVER_DEFS = -DINCLUDE_PNIC=1 76*8044SWilliam.Kucharski@Sun.COMr8169.o := DRIVER_DEFS = -DINCLUDE_R8169=1 77*8044SWilliam.Kucharski@Sun.COMrtl8139.o := DRIVER_DEFS = -DINCLUDE_RTL8139=1 78*8044SWilliam.Kucharski@Sun.COMsis900.o := DRIVER_DEFS = -DINCLUDE_SIS900=1 79*8044SWilliam.Kucharski@Sun.COMsundance.o := DRIVER_DEFS = -DINCLUDE_SUNDANCE=1 80*8044SWilliam.Kucharski@Sun.COMtg3.o := DRIVER_DEFS = -DINCLUDE_TG3=1 81*8044SWilliam.Kucharski@Sun.COMtlan.o := DRIVER_DEFS = -DINCLUDE_TLAN=1 82*8044SWilliam.Kucharski@Sun.COMtulip.o := DRIVER_DEFS = -DINCLUDE_TULIP=1 83*8044SWilliam.Kucharski@Sun.COMundi.o := DRIVER_DEFS = -DINCLUDE_UNDI=1 84*8044SWilliam.Kucharski@Sun.COMvia-rhine.o := DRIVER_DEFS = -DINCLUDE_VIA_RHINE=1 85*8044SWilliam.Kucharski@Sun.COMw89c840.o := DRIVER_DEFS = -DINCLUDE_W89C840=1 86*8044SWilliam.Kucharski@Sun.COM 87*8044SWilliam.Kucharski@Sun.COM3c595.o := DRIVER_SRC = 3c595.c 88*8044SWilliam.Kucharski@Sun.COM3c90x.o := DRIVER_SRC = 3c90x.c 89*8044SWilliam.Kucharski@Sun.COMdavicom.o := DRIVER_SRC = davicom.c 90*8044SWilliam.Kucharski@Sun.COMe1000.o := DRIVER_SRC = e1000.c 91*8044SWilliam.Kucharski@Sun.COMeepro100.o := DRIVER_SRC = eepro100.c 92*8044SWilliam.Kucharski@Sun.COMepic100.o := DRIVER_SRC = epic100.c 93*8044SWilliam.Kucharski@Sun.COMforcedeth.o := DRIVER_SRC = forcedeth.c 94*8044SWilliam.Kucharski@Sun.COMnatsemi.o := DRIVER_SRC = natsemi.c 95*8044SWilliam.Kucharski@Sun.COMns83820.o := DRIVER_SRC = ns83820.c 96*8044SWilliam.Kucharski@Sun.COMns8390.o := DRIVER_SRC = ns8390.c 97*8044SWilliam.Kucharski@Sun.COMpcnet32.o := DRIVER_SRC = pcnet32.c 98*8044SWilliam.Kucharski@Sun.COMpnic.o := DRIVER_SRC = pnic.c 99*8044SWilliam.Kucharski@Sun.COMr8169.o := DRIVER_SRC = r8169.c 100*8044SWilliam.Kucharski@Sun.COMrtl8139.o := DRIVER_SRC = rtl8139.c 101*8044SWilliam.Kucharski@Sun.COMsis900.o := DRIVER_SRC = sis900.c 102*8044SWilliam.Kucharski@Sun.COMsundance.o := DRIVER_SRC = sundance.c 103*8044SWilliam.Kucharski@Sun.COMtg3.o := DRIVER_SRC = tg3.c 104*8044SWilliam.Kucharski@Sun.COMtlan.o := DRIVER_SRC = tlan.c 105*8044SWilliam.Kucharski@Sun.COMtulip.o := DRIVER_SRC = tulip.c 106*8044SWilliam.Kucharski@Sun.COMundi.o := DRIVER_SRC = undi.c 107*8044SWilliam.Kucharski@Sun.COMvia-rhine.o := DRIVER_SRC = via-rhine.c 108*8044SWilliam.Kucharski@Sun.COMw89c840.o := DRIVER_SRC = w89c840.c 109*8044SWilliam.Kucharski@Sun.COM 110*8044SWilliam.Kucharski@Sun.COM 111*8044SWilliam.Kucharski@Sun.COMINCLUDES = -I. -I.. -I../stage2 -I../stage1 112*8044SWilliam.Kucharski@Sun.COM 113*8044SWilliam.Kucharski@Sun.COMNET_EXTRAFLAGS = -DCONFIG_PCI \ 114*8044SWilliam.Kucharski@Sun.COM -DCONFIG_PCI_DIRECT=1 \ 115*8044SWilliam.Kucharski@Sun.COM -DCONGESTED=1 \ 116*8044SWilliam.Kucharski@Sun.COM -DNE_SCAN=0x280,0x300,0x320,0x340 \ 117*8044SWilliam.Kucharski@Sun.COM -DWD_DEFAULT_MEM=0xCC000 118*8044SWilliam.Kucharski@Sun.COM 119*8044SWilliam.Kucharski@Sun.COM# 120*8044SWilliam.Kucharski@Sun.COM# Source files to be installed in $(SRC_DIR). 121*8044SWilliam.Kucharski@Sun.COM# 122*8044SWilliam.Kucharski@Sun.COMSRC_DIR = $(ROOT_SRC)/netboot 123*8044SWilliam.Kucharski@Sun.COMSRC_FILES = Makefile.am Makefile.in README.netboot \ 124*8044SWilliam.Kucharski@Sun.COM 3c595.c 3c595.h 3c90x.c basemem.c big_bswap.h bootp.h \ 125*8044SWilliam.Kucharski@Sun.COM byteswap.h config.c cpu.h davicom.c dev.h e1000.c \ 126*8044SWilliam.Kucharski@Sun.COM e1000_hw.h eepro100.c elf.h endian.h epic100.c epic100.h \ 127*8044SWilliam.Kucharski@Sun.COM etherboot.h forcedeth.c fsys_tftp.c grub.h i386_byteswap.h \ 128*8044SWilliam.Kucharski@Sun.COM i386_elf.h i386_endian.h i386_timer.c if_arp.h if_ether.h \ 129*8044SWilliam.Kucharski@Sun.COM igmp.h in.h io.h ip.h isa.h latch.h little_bswap.h mii.h \ 130*8044SWilliam.Kucharski@Sun.COM misc.c natsemi.c nfs.h nic.c nic.h ns83820.c ns8390.c \ 131*8044SWilliam.Kucharski@Sun.COM ns8390.h osdep.h pci.c pci.h pci_ids.h pci_io.c pcnet32.c \ 132*8044SWilliam.Kucharski@Sun.COM pic8259.c pic8259.h pnic.c pnic_api.h pxe.h r8169.c \ 133*8044SWilliam.Kucharski@Sun.COM rtl8139.c segoff.h sis900.c sis900.h stdint.h sundance.c \ 134*8044SWilliam.Kucharski@Sun.COM tftp.h tg3.c tg3.h timer.c timer.h tlan.c tlan.h tulip.c \ 135*8044SWilliam.Kucharski@Sun.COM types.h udp.h undi.c undi.h via-rhine.c w89c840.c 136*8044SWilliam.Kucharski@Sun.COM 137*8044SWilliam.Kucharski@Sun.COMINSTALL_TARGETS = $(SRC_FILES:%=$(SRC_DIR)/%) 138*8044SWilliam.Kucharski@Sun.COM 139*8044SWilliam.Kucharski@Sun.COM 140*8044SWilliam.Kucharski@Sun.COMall: $(LIBDRIVERS) 141*8044SWilliam.Kucharski@Sun.COM 142*8044SWilliam.Kucharski@Sun.COM$(LIBDRIVERS): $(LIBDRIVERS_OBJS) 143*8044SWilliam.Kucharski@Sun.COM $(RM) $@ 144*8044SWilliam.Kucharski@Sun.COM $(AR) cru $@ $(LIBDRIVERS_OBJS) 145*8044SWilliam.Kucharski@Sun.COM $(RANLIB) $@ 146*8044SWilliam.Kucharski@Sun.COM 147*8044SWilliam.Kucharski@Sun.COM$(LIB_OBJS): $$(@:libdrivers_a-%.o=%.c) 148*8044SWilliam.Kucharski@Sun.COM $(CC) $(CFLAGS) -c -o $@ $(@:libdrivers_a-%.o=%.c) 149*8044SWilliam.Kucharski@Sun.COM 150*8044SWilliam.Kucharski@Sun.COM$(DRIVER_OBJS): $$(DRIVER_SRC) 151*8044SWilliam.Kucharski@Sun.COM $(CC) $(CFLAGS) -c -o $@ $(DRIVER_SRC) 152*8044SWilliam.Kucharski@Sun.COM 153*8044SWilliam.Kucharski@Sun.COM 154*8044SWilliam.Kucharski@Sun.COMinstall: all $(INSTALL_TARGETS) 155*8044SWilliam.Kucharski@Sun.COM 156*8044SWilliam.Kucharski@Sun.COM$(SRC_DIR)/%: $(SRC_DIR) % 157*8044SWilliam.Kucharski@Sun.COM $(INS.file) 158*8044SWilliam.Kucharski@Sun.COM 159*8044SWilliam.Kucharski@Sun.COM$(SRC_DIR): 160*8044SWilliam.Kucharski@Sun.COM $(INS.dir) 161*8044SWilliam.Kucharski@Sun.COM 162*8044SWilliam.Kucharski@Sun.COM 163*8044SWilliam.Kucharski@Sun.COMclean: _FORCE 164*8044SWilliam.Kucharski@Sun.COM $(RM) *.o $(LIBDRIVERS) 165*8044SWilliam.Kucharski@Sun.COM 166*8044SWilliam.Kucharski@Sun.COMclobber: clean 167*8044SWilliam.Kucharski@Sun.COM 168*8044SWilliam.Kucharski@Sun.COM_FORCE: 169