File: Makefile

package info (click to toggle)
silo 1.4.14%2Bgit20120819-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 1,644 kB
  • sloc: ansic: 13,383; asm: 3,004; makefile: 351; sh: 102; perl: 85
file content (63 lines) | stat: -rw-r--r-- 1,520 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
##
## Trivial Linux Loader for SPARC
##
##

include ../Rules.make

# Relocate to 3.75MB
# Hopefully, 4MB are guaranteed to be mapped.
LDFLAGS_SMALL=-N -Ttext 0x3c0000
# This is even more, but will be used only for extra large images.
LDFLAGS_LARGE=-N -Ttext 0x4c0000

all: maketilo

.c.o:
	$(CC) $(CFLAGS) -c $*.c

.S.o:
	$(CC) $(CFLAGS) -c $*.S

OBJS_COMMON = ../common/printf.o ../common/jmp.o ../common/prom.o \
	../common/tree.o ../common/console.o ../common/stringops1.o \
	../common/urem.o ../common/stringops2.o ../common/udiv.o \
	../common/divdi3.o ../common/udivdi3.o
OBJS = crt0.o tilo.o $(OBJS_COMMON) malloc.o
OBJS2 = crt0l.o tilol.o $(OBJS_COMMON) mallocl.o

maketilo: maketilo.c b.h b2.h
	$(CC) $(CFLAGS) maketilo.c -o maketilo

b.h : b.out $(BIN2H)
	$(BIN2H) -l BOOT_LEN boot_loader $< > $@ || ($(RM) $@; exit 1)

b2.h : b2.out $(BIN2H)
	$(BIN2H) -l LARGE_BOOT_LEN large_boot_loader $< > $@ || ($(RM) $@; exit 1)

b.out: $(OBJS)
	$(LD) $(LDFLAGS_SMALL) -Bstatic -o boot $(OBJS)
	$(ELFTOAOUT) boot -o b.out

b2.out: $(OBJS2)
	$(LD) $(LDFLAGS_LARGE) -Bstatic -o boot2 $(OBJS2)
	$(ELFTOAOUT) boot2 -o b2.out


mallocl.o: ../common/malloc.c
	$(CC) $(CFLAGS) -DMALLOC_BASE=0x4D0000 -c -o $@ $<

malloc.o: ../common/malloc.c
	$(CC) $(CFLAGS) -DMALLOC_BASE=0x3D0000 -c -o $@ $<

tilol.o: tilo.c
	$(CC) $(CFLAGS) -DLARGETILO -c -o $@ $<

crt0.o:	crt0.S
	$(CC) $(CFLAGS) -c -Wa,-Av9 -o $@ $<

crt0l.o: crt0.S
	$(CC) $(CFLAGS) -c -Wa,-Av9 -DLARGETILO -o $@ $<

clean:
	$(RM) *.o boot boot2 *.out b.h b2.h maketilo