| ifeq ($(CONFIG_X86_64),y) |
| CROSS_COMPILE := x86_64-ucb-akaros- |
| BITS := 64 |
| KERNEL_LD := kernel64.ld |
| CFLAGS_KERNEL += -mcmodel=kernel |
| CFLAGS_KERNEL += -mno-red-zone -ffreestanding |
| CFLAGS_KERNEL += -mno-mmx -mno-sse -mno-sse2 -mno-sse3 -mno-3dnow |
| LDFLAGS_KERNEL += -z max-page-size=0x1000 |
| # Need to change the format to 32 bit, to trick multiboot/grub1 into loading |
| ARCH_POST_LINK_CMD = cp $@ $@-64b; $(OBJCOPY) -I elf64-x86-64 -O elf32-i386 $@ |
| else ifeq ($(CONFIG_X86_32),y) |
| CROSS_COMPILE := i686-ucb-akaros- |
| BITS := 32 |
| KERNEL_LD := kernel32.ld |
| # basically a nop. this runs post-link of the kernel |
| ARCH_POST_LINK_CMD = echo -n |
| endif |
| |
| # BITS is used in Kbuilds, so we can select bit-specific source files. |
| export BITS |