more x86_64 work. started to put the mmu bits together in the (former) stage2 loader.
[newos.git] / boot / pc / x86_64 / makefile
blobdb0471fd6e7bb78ca26ce7e221471c455454ce6d
2 BOOT_SRCDIR := $(GET_LOCAL_DIR)
3 BOOT_TARGETDIR := $(call TOBUILDDIR, boot)
5 LOADER := $(BOOT_TARGETDIR)/bld
7 ifeq ($(OSTYPE),cygwin)
8 BOOT_IMAGE_TARGET ?= a:
9 else
10 BOOT_IMAGE_TARGET ?= /dev/fd0
11 endif
13 LOADER_PAYLOAD := $(BOOT_TARGETDIR)/payload.o
15 # make a rule for the unified loader
16 MY_TARGETDIR := $(BOOT_TARGETDIR)
17 MY_SRCDIR := $(BOOT_SRCDIR)
18 MY_TARGET := $(LOADER)
19 MY_SRCS := \
20 stage1_entry.S \
21 stage1.c \
22 inflate.c \
23 stage2.c \
24 mmu.c \
25 heap.c \
26 multiboot.c \
27 stage2_asm.S
29 # smp_boot.c \
30 smp_trampoline.S
32 MY_INCLUDES := $(STDINCLUDE)
33 MY_CFLAGS := $(KERNEL_CFLAGS) -mno-sse
34 MY_LDFLAGS := -dN
35 MY_LIBS := $(LIBS_BUILD_DIR)/libc.a
36 MY_LIBPATHS :=
37 MY_DEPS := $(MY_LIBS)
38 MY_LINKSCRIPT := $(MY_SRCDIR)/stage1.ld
39 MY_GLUE :=
40 MY_EXTRAOBJS := $(LOADER_PAYLOAD)
42 include templates/app.mk
44 CONFIG_FILE := $(BOOT_SRCDIR)/dummy.ini
46 $(FINAL): $(LOADER)
47 $(OBJCOPY) -O binary $< $@
49 $(FINAL).bootmaker.gz: $(TOOLS) $(CONFIG_FILE)
50 @echo creating $@
51 @$(MKDIR)
52 @$(BOOTMAKER) --strip-debug --strip-binary $(STRIP) $(CONFIG_FILE) -o $(FINAL).bootmaker
53 @gzip -f -9 $(FINAL).bootmaker
55 $(LOADER_PAYLOAD): $(FINAL).bootmaker.gz
56 @echo building and assembling $@
57 @$(MKDIR)
58 @(echo .section .payload, \"al\"; cat $< | $(BIN2ASM)) > $(LOADER_PAYLOAD).S
59 @$(CC) -c $(LOADER_PAYLOAD).S -o $@
61 disk: $(FINAL)
62 ifeq ($(OSTYPE),cygwin)
63 fdimage -q $(FINAL) $(BOOT_IMAGE_TARGET)
64 else
65 dd if=$(FINAL) of=$(BOOT_IMAGE_TARGET) bs=18k
66 endif
68 netinstall: $(FINAL)
69 scp $(FINAL) four:/tftproot/grubtest