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 (124 lines) | stat: -rw-r--r-- 4,762 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
122
123
124
#
# proll:
# mrcoffee/Makefile - make PROLL for MrCoffee
# $Id: Makefile,v 1.11 2002/07/23 06:15:26 zaitcev Exp $
#
# Copyright 1999 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 le.o system.o iommu.o \
 arp.o netinit.o bootp.o packet.o tftp.o udp.o sched_4m.o openprom.o

all:           $(ALL)

$(PROLLEXE):   $(OBJS)
	$(CROSSLD) $(LDFLAGS) -o $(PROLLEXE) $(OBJS)

head.o:         $(SRC)/head.S $(SRC)/phys_jj.h \
  $(SRC)/asi.h $(SRC)/psr.h $(SRC)/crs.h
	$(CROSSCC) $(ASFLAGS) -DPROLBASE=$(PROLBASE) -o $*.o -c $(SRC)/$*.S
main.o:         main.c $(SRC)/asi.h $(SRC)/pgtsrmmu.h $(SRC)/iommu.h \
  $(SRC)/phys_jj.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
	$(CROSSCC) $(CFLAGS) -c $*.c
openprom.o:	openprom.c $(SRC)/openprom.h $(SRC)/general.h $(SRC)/romlib.h \
  $(SRC)/vconsole.h $(SRC)/system.h $(SRC)/phys_jj.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)/asi.h \
  $(SRC)/netpriv.h $(SRC)/arpa.h $(SRC)/system.h $(SRC)/crs.h
	$(CROSSCC) $(CFLAGS) -c $(SRC)/$*.c
iommu.o:        $(SRC)/iommu.c $(SRC)/pgtsrmmu.h $(SRC)/phys_jj.h $(SRC)/iommu.h \
 $(SRC)/vconsole.h $(SRC)/general.h $(SRC)/romlib.h $(SRC)/system.h $(SRC)/asi.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
le.o:		$(SRC)/le.c $(SRC)/dma.h $(SRC)/system.h $(SRC)/netpriv.h $(SRC)/romlib.h $(SRC)/general.h $(SRC)/net.h $(SRC)/phys_jj.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_4m.o:	$(SRC)/sched_4m.c $(SRC)/system.h $(SRC)/general.h $(SRC)/romlib.h $(SRC)/phys_jj.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

#genlab.o:      genlab.c
#	$(CC) -c $*.c
#
#genlab:        genlab.o
#	$(CC) -o genlab genlab.o

clean:
	$(RM) $(OBJS)
	$(RM) $(PROLLEXE) proll.aout

proll.aout:	$(PROLLEXE)
	$(ELFTOAOUT) -o proll.aout $(PROLLEXE)