#
# l4-i386/Makefile, adapted from i386/Makefile
#
# This file is included by the global makefile so that you can add your own
# architecture-specific flags and dependencies. Remember to do have actions
# for "archclean" and "archdep" for cleaning up and making dependencies for
# this architecture
#
# This file is subject to the terms and conditions of the GNU General Public
# License.  See the file "COPYING" in the main directory of this archive
# for more details.
#
# Copyright (C) 1994 by Linus Torvalds
#

L4_DIR = $(TOPDIR)/../l4

LD=$(CROSS_COMPILE)ld -m elf_i386
CPP=$(CC) -E
OBJCOPY=$(CROSS_COMPILE)objcopy -O binary -R .note -R .comment -S
LDFLAGS=-e stext
LINKFLAGS =-T $(TOPDIR)/arch/l4-i386/vmlinux.lds $(LDFLAGS)

# L4 adaptions
FINDHPATH += $(L4_DIR)/lib/libl4sys/include $(L4_DIR)/server/rmgr/include

CFLAGS_L4 := -I$(L4_DIR)/lib/libl4sys/include \
	-I$(L4_DIR)/server/rmgr/include -DLINUX_ON_L4 -g
AFLAGS := -I$(L4_DIR)/lib/libl4sys/include

ifdef CONFIG_L4_X_ADAPTION
CFLAGS_L4 += -D__X_ADAPTION__
AFLAGS += -D__X_ADAPTION__
endif

CFLAGS_PIPE := -pipe
CFLAGS_NSR  := -fno-strength-reduce
CFLAGS := $(CFLAGS) $(CFLAGS_PIPE) $(CFLAGS_NSR) $(CFLAGS_L4)

ifdef CONFIG_M386
CFLAGS := $(CFLAGS) -m386 -DCPU=386
endif

ifdef CONFIG_M486
CFLAGS := $(CFLAGS) -m486 -DCPU=486
endif

ifdef CONFIG_M586
CFLAGS := $(CFLAGS) -m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2 -DCPU=586
endif

ifdef CONFIG_M586TSC
CFLAGS := $(CFLAGS) -m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2 -DCPU=586
endif

ifdef CONFIG_M686
CFLAGS := $(CFLAGS) -m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2 -DCPU=686
endif

HEAD := arch/l4-i386/kernel/head.o arch/l4-i386/kernel/init_task.o

SUBDIRS := arch/l4-i386/kernel arch/l4-i386/mm arch/l4-i386/lib \
	arch/l4-i386/emulib arch/l4-i386/driver $(SUBDIRS)
CORE_FILES := arch/l4-i386/kernel/kernel.o arch/l4-i386/mm/mm.o \
	arch/l4-i386/driver/drivers.o $(CORE_FILES)
LIBS := $(TOPDIR)/arch/l4-i386/lib/lib.a $(LIBS) $(TOPDIR)/arch/l4-i386/lib/lib.a $(TOPDIR)/arch/l4-i386/emulib/emulib.o

arch/l4-i386/kernel: dummy
	$(MAKE) linuxsubdirs SUBDIRS=arch/l4-i386/kernel

arch/l4-i386/mm: dummy
	$(MAKE) linuxsubdirs SUBDIRS=arch/l4-i386/mm

MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot

zImage: vmlinux
	@$(MAKEBOOT) zImage

bzImage: vmlinux
	@$(MAKEBOOT) bzImage

compressed: zImage

zlilo: vmlinux
	@$(MAKEBOOT) BOOTIMAGE=zImage zlilo

bzlilo: vmlinux
	@$(MAKEBOOT) BOOTIMAGE=bzImage zlilo

zdisk: vmlinux
	@$(MAKEBOOT) BOOTIMAGE=zImage zdisk

bzdisk: vmlinux
	@$(MAKEBOOT) BOOTIMAGE=bzImage zdisk

install: vmlinux
	@$(MAKEBOOT) BOOTIMAGE=bzImage install

archclean:
	@$(MAKEBOOT) clean

archmrproper:

archdep:
	@$(MAKEBOOT) dep
