Rev 3552 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3552 | Rev 3681 | ||
---|---|---|---|
Line 31... | Line 31... | ||
31 | 31 | ||
32 | ## Setup toolchain |
32 | ## Setup toolchain |
33 | # |
33 | # |
34 | 34 | ||
35 | LIBC_PREFIX = ../../lib/libc |
35 | LIBC_PREFIX = ../../lib/libc |
36 | SOFTINT_PREFIX = ../../lib/softint |
- | |
37 | include $(LIBC_PREFIX)/Makefile.toolchain |
36 | include $(LIBC_PREFIX)/Makefile.toolchain |
38 | include arch/$(ARCH)/Makefile.inc |
37 | include arch/$(ARCH)/Makefile.inc |
39 | 38 | ||
40 | #CFLAGS += -Iinclude -I../../srv/loader/include -fPIC -O0 -ggdb |
39 | #CFLAGS += -Iinclude -I../../srv/loader/include -fPIC -O0 -ggdb |
41 | #LFLAGS += -shared --no-undefined -soname rtld.so |
40 | #LFLAGS += -shared --no-undefined -soname rtld.so |
42 | CFLAGS += -Iinclude -I../../srv/loader/include -O0 -ggdb |
41 | CFLAGS += -Iinclude -I../../srv/loader/include -O0 -ggdb |
43 | LFLAGS += |
42 | LFLAGS += |
44 | 43 | ||
45 | LIBS = $(LIBC_PREFIX)/libc.pic.a $(SOFTINT_PREFIX)/libsoftint.pic.a |
- | |
46 | DEFS += -DRELEASE=\"$(RELEASE)\" |
44 | DEFS += -DRELEASE=\"$(RELEASE)\" |
47 | 45 | ||
48 | ifdef REVISION |
46 | ifdef REVISION |
49 | DEFS += "-DREVISION=\"$(REVISION)\"" |
47 | DEFS += "-DREVISION=\"$(REVISION)\"" |
50 | endif |
48 | endif |
Line 54... | Line 52... | ||
54 | endif |
52 | endif |
55 | 53 | ||
56 | ## Sources |
54 | ## Sources |
57 | # |
55 | # |
58 | 56 | ||
59 | OUTPUT = rtld |
57 | OUTPUT = librtld.a |
60 | GENERIC_SOURCES = \ |
58 | GENERIC_SOURCES = \ |
61 | rtld.c \ |
59 | rtld.c \ |
62 | elf_load.c \ |
60 | elf_load.c \ |
63 | dynamic.c \ |
61 | dynamic.c \ |
64 | module.c \ |
62 | module.c \ |
Line 67... | Line 65... | ||
67 | GENERIC_OBJECTS := $(addsuffix .o,$(basename $(GENERIC_SOURCES))) |
65 | GENERIC_OBJECTS := $(addsuffix .o,$(basename $(GENERIC_SOURCES))) |
68 | ARCH_OBJECTS := $(addsuffix .o,$(basename $(ARCH_SOURCES))) |
66 | ARCH_OBJECTS := $(addsuffix .o,$(basename $(ARCH_SOURCES))) |
69 | 67 | ||
70 | .PHONY: all clean depend disasm sections inc |
68 | .PHONY: all clean depend disasm sections inc |
71 | 69 | ||
72 | all: inc $(OUTPUT) disasm sections |
70 | all: inc $(OUTPUT) |
73 | 71 | ||
74 | inc: |
72 | inc: |
75 | ln -sfn ../arch/$(ARCH)/include include/arch |
73 | ln -sfn ../arch/$(ARCH)/include include/arch |
76 | 74 | ||
77 | -include Makefile.depend |
75 | -include Makefile.depend |
Line 81... | Line 79... | ||
81 | find arch/$(ARCH)/ -name '*.o' -follow -exec rm \{\} \; |
79 | find arch/$(ARCH)/ -name '*.o' -follow -exec rm \{\} \; |
82 | 80 | ||
83 | depend: |
81 | depend: |
84 | $(CC) $(DEFS) $(CFLAGS) -M $(ARCH_SOURCES) $(GENERIC_SOURCES)> Makefile.depend |
82 | $(CC) $(DEFS) $(CFLAGS) -M $(ARCH_SOURCES) $(GENERIC_SOURCES)> Makefile.depend |
85 | 83 | ||
86 | $(OUTPUT): $(ARCH_OBJECTS) $(GENERIC_OBJECTS) $(LIBS) arch/$(ARCH)/_link.ld |
84 | $(OUTPUT): depend $(ARCH_OBJECTS) $(GENERIC_OBJECTS) |
87 | $(LD) -T arch/$(ARCH)/_link.ld $(ARCH_OBJECTS) $(GENERIC_OBJECTS) $(LIBS) $(LFLAGS) -o $@ -Map $(OUTPUT).map |
- | |
88 | - | ||
89 | disasm: |
- | |
90 | $(OBJDUMP) -d -S -s $(OUTPUT) >$(OUTPUT).disasm |
- | |
91 | - | ||
92 | sections: |
- | |
93 | $(OBJDUMP) -h $(OUTPUT) >$(OUTPUT).sections |
85 | $(AR) rc $(OUTPUT) $(ARCH_OBJECTS) $(GENERIC_OBJECTS) |
94 | - | ||
95 | arch/$(ARCH)/_link.ld: arch/$(ARCH)/_link.ld.in |
- | |
96 | $(CC) $(DEFS) $(CFLAGS) -DLIBC_PREFIX=$(LIBC_PREFIX) -E -x c $< | grep -v "^\#" > $@ |
- | |
97 | 86 | ||
98 | %.o: %.S |
87 | %.o: %.S |
99 | $(CC) $(DEFS) $(AFLAGS) $(CFLAGS) -D__ASM__ -c $< -o $@ |
88 | $(CC) $(DEFS) $(AFLAGS) $(CFLAGS) -D__ASM__ -c $< -o $@ |
100 | 89 | ||
101 | %.o: %.s |
90 | %.o: %.s |