#
# Makefile for the linux kernel.
#
# Note! Dependencies are done automagically by 'make dep', which also
# removes any old dependencies. DON'T put your own dependencies here
# unless it's something special (ie not a .c file).

USE_STANDARD_AS_RULE := true

O_TARGET		:= pxa.o

obj-y :=
obj-m := 
obj-n :=
obj-  :=

export-objs := generic.o irq.o dma-pxa.o sa1111.o usb_ctl.o usb_recv.o \
               usb_send.o axim.o h5400.o

# Common support (must be linked before board specific support)
obj-y += generic.o irq.o dma-pxa.o
obj-$(CONFIG_SA1111) += sa1111.o

# Specific board support
obj-$(CONFIG_PXA_IPAQ) += ipaq.o
obj-$(CONFIG_ARCH_H5400) += h5400.o
obj-$(CONFIG_ARCH_H3900) += h3900.o
obj-$(CONFIG_ARCH_H1900) += h1900.o
obj-$(CONFIG_ARCH_AXIM) += axim.o
obj-$(CONFIG_ARCH_LUBBOCK) += lubbock.o
obj-$(CONFIG_ARCH_PXA_IDP) += idp.o
obj-$(CONFIG_ARCH_PXA_CERF) += cerf.o

# Support for blinky lights
leds-y := leds.o
leds-$(CONFIG_ARCH_LUBBOCK) += leds-lubbock.o
leds-$(CONFIG_ARCH_PXA_IDP) += leds-idp.o
leds-$(CONFIG_ARCH_PXA_CERF) += leds-cerf.o

obj-$(CONFIG_LEDS) += $(leds-y)

# PXA USB client support
list-multi += pxausb_core.o
pxausb_core-objs := usb_ctl.o usb_ep0.o usb_recv.o usb_send.o
obj-$(CONFIG_PXA_USB) += pxausb_core.o
obj-$(CONFIG_PXA_USB_NETLINK) += usb-eth.o
obj-$(CONFIG_PXA_USB_CHAR) += usb-char.o

# USB host support requires pcipool.o
ifneq ($(CONFIG_USB_OHCI_H5400),n)
export-objs += pcipool-h5400.o h5400-pcibuf.o
obj-$(CONFIG_USB_OHCI) += pcipool-h5400.o h5400-pcibuf.o
endif

# Misc features
export-objs += pm-pxa.o
obj-$(CONFIG_PM) += pm-pxa.o sleep.o
obj-$(CONFIG_CPU_FREQ) += cpu-pxa.o
obj-$(CONFIG_APM) += apm.o

# HP iPAQ specific
ifeq ($(CONFIG_IPAQ_HANDHELD),y)
vpath % ../mach-ipaq
endif

export-objs +=	ipaq.o h3600_asic_battery.o axim_hal.o h1900_asic.o h1910_mmc.o

list-multi += h3900_asic.o h5400_asic.o h1900_asic.c
# mmc-$(CONFIG_MMC) += h3900_asic_mmc.o
h3900_asic-objs := h3900_asic_core.o h3900_asic_io.o asic2_shared.o asic2_io.o battery_h3x00.o
h3900_asic-objs += $(mmc-y)
h3900_asic-objs += $(mmc-m)
obj-$(CONFIG_H3600_ASIC) += h3900_asic.o h3600_asic_battery.o
h5400_asic-objs := h5400_asic_core.o h5400_asic_io.o battery_h5400.o h5400_asic_sleeve.o
obj-$(CONFIG_H5400_ASIC) += h5400_asic.o h3600_asic_battery.o
obj-$(CONFIG_H3900_ASIC_DEBUG) += h3900_asic_debug.o
obj-$(CONFIG_H1900_ASIC) += h1900_asic.o
obj-$(CONFIG_H1900_TS) += h1900_ts.o
obj-$(CONFIG_AXIM_HAL) += axim_hal.o

include $(TOPDIR)/Rules.make

pxausb_core.o: $(pxausb_core-objs)
	$(LD) -r -o $@ $(pxausb_core-objs)

h3900_asic.o: $(h3900_asic-objs)
	$(LD) -r -o $@ $(h3900_asic-objs)

h5400_asic.o: $(h5400_asic-objs)
	$(LD) -r -o $@ $(h5400_asic-objs)
