Get the ol' Dreamcast target building and sort of booting again.
[newos.git] / boot / dreamcast / makefile
blobf7976c1536ff451d09fb7dce9b6c4bac766eaa85
1 LOCAL_DIR := $(GET_LOCAL_DIR)
3 BOOT_SRCDIR := $(LOCAL_DIR)
4 BOOT_TARGETDIR := $(call TOBUILDDIR, $(BOOT_SRCDIR))
6 STAGE2 = $(BOOT_TARGETDIR)/stage2
8 # make a rule for the stage2
9 MY_TARGETDIR := $(BOOT_TARGETDIR)
10 MY_SRCDIR := $(BOOT_SRCDIR)
11 MY_TARGET := $(STAGE2)
12 MY_OBJS := \
13 stage2.o \
14 serial.o \
15 mmu.o \
16 vcpu.o \
17 vcpu_c.o
19 MY_INCLUDES := $(STDINCLUDE)
20 MY_CFLAGS := $(KERNEL_CFLAGS)
21 MY_LDFLAGS := -dN
22 MY_LIBS := $(LIBS_BUILD_DIR)/libc.a
23 MY_LIBPATHS :=
24 MY_DEPS := $(MY_LIBS)
25 MY_LINKSCRIPT := $(MY_SRCDIR)/stage2.ld
26 MY_GLUE :=
28 include templates/app.mk
30 # build stage1
31 STAGE1 := $(BOOT_TARGETDIR)/stage1
33 MY_TARGETDIR := $(BOOT_TARGETDIR)
34 MY_SRCDIR := $(BOOT_SRCDIR)
35 MY_TARGET := $(STAGE1)
36 MY_OBJS := \
37 stage1.o
39 MY_INCLUDES :=
40 MY_CFLAGS :=
41 MY_LDFLAGS := -dN
42 MY_LIBS :=
43 MY_LIBPATHS :=
44 MY_DEPS :=
45 MY_LINKSCRIPT := $(MY_SRCDIR)/stage1.ld
46 MY_GLUE :=
48 include templates/app.mk
50 $(STAGE1).bin: $(STAGE1)
51 $(OBJCOPY) -O binary $(STAGE1) $@1
52 dd if=/dev/zero of=$(STAGE1).bin bs=4096 count=1 2> /dev/null
53 dd if=$(STAGE1).bin1 of=$(STAGE1).bin conv=notrunc 2> /dev/null
54 rm $(STAGE1).bin1
56 BOOTBLOCK := $(BOOT_SRCDIR)/bootblock.bin
57 CONFIG_FILE := $(BOOT_SRCDIR)/config.ini
58 SEMIFINAL := $(BOOT_TARGETDIR)/final.bootdir
60 $(FINAL): $(SEMIFINAL) $(STAGE1).bin
61 cat $(STAGE1).bin $(SEMIFINAL) > $(FINAL)
63 $(SEMIFINAL): $(STAGE2) $(KERNEL) $(TOOLS) $(CONFIG_FILE)
64 $(BOOTMAKER) --strip-debug --strip-binary $(STRIP) $(CONFIG_FILE) -o $@