1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
|
#
# proll:
# krups/Makefile - make PROLL for Krups
# $Id: Makefile,v 1.10 2002/09/13 17:35:03 zaitcev Exp $
#
# Copyright 1999,2000 Pete Zaitcev
# This is Free Software is licensed under terms of GNU General Public License.
#
CC = gcc
#CROSS = /usr/local/sparc/bin/sparc-sun-linux-
CROSS = sparc-unknown-linux-gnu-
CROSSCC = $(CROSS)gcc
CROSSLD = $(CROSS)ld
CROSSNM = $(CROSS)nm
RM = /bin/rm -f
ELFTOAOUT = elftoaout
#
SRC = ../src
# Due to remapping algorithm PROLBASE should be algned on PMD.
# We make PROLBASE a define instead of using _start because we
# want to shift it to form a PGD entry. A relocatable label will not work.
# Linux kernel expects us to be at LINUX_OPPROM_BEGVM <asm-sparc/openprom.h>.
PROLBASE = 0xffd04000
# Linux
# Fixed %g6 is for arch/sparc/kernel/head.S, it seems ok w/o -ffixed-g6.
# Kernel uses -fcall-used-g5 -fcall-used-g7, we probably do not need them.
# __ANSI__ is supposed to be on by default but it is not.
CFLAGS = -O -Wall -DPROLBASE=$(PROLBASE) -D__ANSI__=1 -I$(SRC)
ASFLAGS = -D__ASSEMBLY__ -I$(SRC)
# Solaris or Linux/i386 cross compilation
#CFLAGS = -Iinclude -O
LDFLAGS = -N -Ttext $(PROLBASE)
ALL = proll.aout
PROLLEXE = proll.elf
OBJS = head.o wuf.o wof.o main.o vconsole.o hconsole.o rconsole.o \
printf.o rem.o sdiv.o umul.o udiv.o urem.o system.o hme.o pcic.o \
arp.o netinit.o bootp.o packet.o tftp.o udp.o sched_2ep.o openprom.o eeprom.o
all: $(ALL)
$(PROLLEXE): $(OBJS)
$(CROSSLD) $(LDFLAGS) -o $(PROLLEXE) $(OBJS)
head.o: $(SRC)/head_jk.S $(SRC)/crs.h $(SRC)/asi.h $(SRC)/psr.h
$(CROSSCC) $(ASFLAGS) -DPROLBASE=$(PROLBASE) -o $*.o -c $(SRC)/head_jk.S
main.o: main.c $(SRC)/crs.h $(SRC)/asi.h $(SRC)/pgtsrmmu.h \
$(SRC)/phys_jk.h $(SRC)/vconsole.h $(SRC)/version.h $(SRC)/general.h \
$(SRC)/net.h $(SRC)/romlib.h $(SRC)/netpriv.h $(SRC)/arpa.h $(SRC)/system.h \
$(SRC)/silo_arg.h
$(CROSSCC) $(CFLAGS) -c $*.c
openprom.o: openprom.c $(SRC)/openprom.h $(SRC)/general.h $(SRC)/romlib.h \
$(SRC)/system.h $(SRC)/vconsole.h $(SRC)/phys_jk.h $(SRC)/silo_arg.h
$(CROSSCC) $(CFLAGS) -c $*.c
system.o: $(SRC)/system.c $(SRC)/vconsole.h $(SRC)/pgtsrmmu.h \
$(SRC)/timer.h $(SRC)/general.h $(SRC)/net.h $(SRC)/romlib.h \
$(SRC)/netpriv.h $(SRC)/arpa.h $(SRC)/system.h
$(CROSSCC) $(CFLAGS) -c $(SRC)/$*.c
eeprom.o: $(SRC)/eeprom.c $(SRC)/phys_jk.h $(SRC)/general.h \
$(SRC)/romlib.h $(SRC)/system.h
$(CROSSCC) $(CFLAGS) -c $(SRC)/$*.c
pcic.o: $(SRC)/pcic.c $(SRC)/vconsole.h $(SRC)/pgtsrmmu.h \
$(SRC)/phys_jk.h $(SRC)/pcic.h $(SRC)/general.h $(SRC)/romlib.h $(SRC)/system.h
$(CROSSCC) $(CFLAGS) -c $(SRC)/$*.c
vconsole.o: $(SRC)/vconsole.c $(SRC)/vconsole.h $(SRC)/hconsole.h
$(CROSSCC) $(CFLAGS) -c $(SRC)/$*.c
hconsole.o: $(SRC)/hconsole.c $(SRC)/hconsole.h $(SRC)/rconsole.h $(SRC)/phys_jj.h
$(CROSSCC) $(CFLAGS) -c $(SRC)/$*.c
rconsole.o: $(SRC)/rconsole.c $(SRC)/rconsole.h
$(CROSSCC) $(CFLAGS) -c $(SRC)/$*.c
printf.o: $(SRC)/printf.c
$(CROSSCC) $(CFLAGS) -c $(SRC)/$*.c
hme.o: $(SRC)/hme.c $(SRC)/system.h $(SRC)/netpriv.h \
$(SRC)/ethtool.h $(SRC)/timer.h $(SRC)/romlib.h $(SRC)/general.h $(SRC)/net.h
$(CROSSCC) $(CFLAGS) -c $(SRC)/$*.c
arp.o: $(SRC)/arp.c $(SRC)/general.h $(SRC)/net.h $(SRC)/romlib.h $(SRC)/netpriv.h $(SRC)/arp.h
$(CROSSCC) $(CFLAGS) -c $(SRC)/$*.c
netinit.o: $(SRC)/netinit.c $(SRC)/general.h $(SRC)/net.h $(SRC)/romlib.h $(SRC)/netpriv.h $(SRC)/arp.h $(SRC)/ip.h $(SRC)/udp.h
$(CROSSCC) $(CFLAGS) -c $(SRC)/$*.c
tftp.o: $(SRC)/tftp.c $(SRC)/general.h $(SRC)/net.h $(SRC)/arpa.h $(SRC)/romlib.h $(SRC)/tftp.h
$(CROSSCC) $(CFLAGS) -c $(SRC)/$*.c
udp.o: $(SRC)/udp.c $(SRC)/general.h $(SRC)/net.h $(SRC)/romlib.h $(SRC)/netpriv.h $(SRC)/arp.h $(SRC)/ip.h $(SRC)/udp.h
$(CROSSCC) $(CFLAGS) -c $(SRC)/$*.c
packet.o: $(SRC)/packet.c $(SRC)/general.h $(SRC)/net.h $(SRC)/romlib.h $(SRC)/netpriv.h
$(CROSSCC) $(CFLAGS) -c $(SRC)/$*.c
sched_2ep.o: $(SRC)/sched_2ep.c $(SRC)/system.h $(SRC)/general.h $(SRC)/romlib.h $(SRC)/phys_jk.h $(SRC)/pcic.h
$(CROSSCC) $(CFLAGS) -c $(SRC)/$*.c
bootp.o: $(SRC)/bootp.c $(SRC)/general.h $(SRC)/net.h \
$(SRC)/arpa.h $(SRC)/romlib.h $(SRC)/system.h $(SRC)/bootp.h
$(CROSSCC) $(CFLAGS) -DNOBPEXT=1 -c $(SRC)/$*.c
wuf.o: $(SRC)/wuf.S
$(CROSSCC) $(ASFLAGS) -o $*.o -c $(SRC)/$*.S
wof.o: $(SRC)/wof.S
$(CROSSCC) $(ASFLAGS) -o $*.o -c $(SRC)/$*.S
rem.o: $(SRC)/rem.S
$(CROSSCC) $(ASFLAGS) -o $*.o -c $(SRC)/$*.S
sdiv.o: $(SRC)/sdiv.S
$(CROSSCC) $(ASFLAGS) -o $*.o -c $(SRC)/$*.S
udiv.o: $(SRC)/udiv.S
$(CROSSCC) $(ASFLAGS) -o $*.o -c $(SRC)/$*.S
urem.o: $(SRC)/urem.S
$(CROSSCC) $(ASFLAGS) -o $*.o -c $(SRC)/$*.S
umul.o: $(SRC)/umul.S
$(CROSSCC) $(ASFLAGS) -o $*.o -c $(SRC)/$*.S
clean:
$(RM) $(OBJS)
$(RM) $(PROLLEXE) proll.aout
proll.aout: $(PROLLEXE)
$(ELFTOAOUT) -o proll.aout $(PROLLEXE)
|