File: Makefile

package info (click to toggle)
proll 18-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 1,012 kB
  • ctags: 3,459
  • sloc: ansic: 12,161; asm: 2,313; makefile: 546
file content (121 lines) | stat: -rw-r--r-- 4,816 bytes parent folder | download | duplicates (3)
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)