Rev 4341 | Rev 4347 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 4341 | Rev 4342 | ||
|---|---|---|---|
| Line 25... | Line 25... | ||
| 25 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
25 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
| 26 | # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 27 | # |
27 | # |
| 28 | 28 | ||
| 29 | include ../../../version |
29 | include ../../../version |
| 30 | -include ../../../Makefile.config |
- | |
| 31 | 30 | ||
| 32 | ## Setup toolchain |
31 | ## Setup toolchain |
| 33 | # |
32 | # |
| 34 | 33 | ||
| 35 | LIBC_PREFIX = ../../lib/libc |
34 | LIBC_PREFIX = ../../lib/libc |
| 36 | SOFTINT_PREFIX = ../../lib/softint |
35 | SOFTINT_PREFIX = ../../lib/softint |
| 37 | RTLD_PREFIX = ../../lib/rtld |
36 | RTLD_PREFIX = ../../lib/rtld |
| - | 37 | ||
| 38 | include $(LIBC_PREFIX)/Makefile.toolchain |
38 | include $(LIBC_PREFIX)/Makefile.toolchain |
| 39 | include arch/$(ARCH)/Makefile.inc |
39 | include arch/$(UARCH)/Makefile.inc |
| 40 | 40 | ||
| 41 | CFLAGS += -Iinclude -I../../srv/loader/include -I../../lib/rtld/include -O0 -ggdb |
41 | CFLAGS += -Iinclude -I../../srv/loader/include -I../../lib/rtld/include -O0 -ggdb |
| 42 | LFLAGS += |
42 | LFLAGS += |
| 43 | 43 | ||
| 44 | LIBS = $(RTLD_PREFIX)/librtld.a $(LIBC_PREFIX)/libc.a $(SOFTINT_PREFIX)/libsoftint.a |
44 | LIBS = $(RTLD_PREFIX)/librtld.a $(LIBC_PREFIX)/libc.a $(SOFTINT_PREFIX)/libsoftint.a |
| Line 65... | Line 65... | ||
| 65 | .PHONY: all clean depend disasm sections inc |
65 | .PHONY: all clean depend disasm sections inc |
| 66 | 66 | ||
| 67 | all: inc $(OUTPUT) disasm sections |
67 | all: inc $(OUTPUT) disasm sections |
| 68 | 68 | ||
| 69 | inc: |
69 | inc: |
| 70 | ln -sfn ../arch/$(ARCH)/include include/arch |
70 | ln -sfn ../arch/$(UARCH)/include include/arch |
| 71 | 71 | ||
| 72 | -include Makefile.depend |
72 | -include Makefile.depend |
| 73 | 73 | ||
| 74 | clean: |
74 | clean: |
| 75 | -rm -f $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm $(OUTPUT).sections Makefile.depend *.o arch/$(ARCH)/_link.ld include/arch |
75 | -rm -f $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm $(OUTPUT).sections Makefile.depend *.o arch/$(UARCH)/_link.ld include/arch |
| 76 | find arch/$(ARCH)/ -name '*.o' -follow -exec rm \{\} \; |
76 | find arch/$(UARCH)/ -name '*.o' -follow -exec rm \{\} \; |
| 77 | 77 | ||
| 78 | depend: |
78 | depend: |
| 79 | $(CC) $(DEFS) $(CFLAGS) -M $(ARCH_SOURCES) $(GENERIC_SOURCES)> Makefile.depend |
79 | $(CC) $(DEFS) $(CFLAGS) -M $(ARCH_SOURCES) $(GENERIC_SOURCES)> Makefile.depend |
| 80 | 80 | ||
| 81 | $(OUTPUT): $(ARCH_OBJECTS) $(GENERIC_OBJECTS) $(LIBS) arch/$(ARCH)/_link.ld |
81 | $(OUTPUT): $(ARCH_OBJECTS) $(GENERIC_OBJECTS) $(LIBS) arch/$(UARCH)/_link.ld |
| 82 | $(LD) -T arch/$(ARCH)/_link.ld $(ARCH_OBJECTS) $(GENERIC_OBJECTS) $(LIBS) $(LFLAGS) -o $@ -Map $(OUTPUT).map |
82 | $(LD) -T arch/$(UARCH)/_link.ld $(ARCH_OBJECTS) $(GENERIC_OBJECTS) $(LIBS) $(LFLAGS) -o $@ -Map $(OUTPUT).map |
| 83 | 83 | ||
| 84 | disasm: |
84 | disasm: |
| 85 | $(OBJDUMP) -d -S -s $(OUTPUT) >$(OUTPUT).disasm |
85 | $(OBJDUMP) -d -S -s $(OUTPUT) >$(OUTPUT).disasm |
| 86 | 86 | ||
| 87 | sections: |
87 | sections: |
| 88 | $(OBJDUMP) -h $(OUTPUT) >$(OUTPUT).sections |
88 | $(OBJDUMP) -h $(OUTPUT) >$(OUTPUT).sections |
| 89 | 89 | ||
| 90 | arch/$(ARCH)/_link.ld: arch/$(ARCH)/_link.ld.in |
90 | arch/$(UARCH)/_link.ld: arch/$(UARCH)/_link.ld.in |
| 91 | $(CC) $(DEFS) $(CFLAGS) -DLIBC_PREFIX=$(LIBC_PREFIX) -E -x c $< | grep -v "^\#" > $@ |
91 | $(CC) $(DEFS) $(CFLAGS) -DLIBC_PREFIX=$(LIBC_PREFIX) -E -x c $< | grep -v "^\#" > $@ |
| 92 | 92 | ||
| 93 | %.o: %.S |
93 | %.o: %.S |
| 94 | $(CC) $(DEFS) $(AFLAGS) $(CFLAGS) -D__ASM__ -c $< -o $@ |
94 | $(CC) $(DEFS) $(AFLAGS) $(CFLAGS) -D__ASM__ -c $< -o $@ |
| 95 | 95 | ||