#Makefile for rk kernel modules for XSCALE BRH Board

# ARCH := $(shell uname -m) = arm

#ARCH = ipaq
#ARCH = brh
#ARCH = ppc
#ARCH = i386
ARCH = bitsyx

HOSTCC  	= gcc
HOSTCFLAGS	= -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer

#CROSS_COMPILE	= /opt/hardhat/devkit/arm/sa_be/bin/arm_sa_be-
CROSS_COMPILE = /usr/local/arm/bin/arm-linux-

#
# Include the make variables (CC, etc...)
#

AS		= $(CROSS_COMPILE)as
LD		= $(CROSS_COMPILE)ld
CC		= $(CROSS_COMPILE)gcc
CPP		= $(CC) -E
AR		= $(CROSS_COMPILE)ar
NM		= $(CROSS_COMPILE)nm
STRIP		= $(CROSS_COMPILE)strip
OBJCOPY		= $(CROSS_COMPILE)objcopy
OBJDUMP		= $(CROSS_COMPILE)objdump
MAKEFILES	= $(TOPDIR)/.config
GENKSYMS	= /sbin/genksyms
DEPMOD		= /sbin/depmod
MODFLAGS	= -DMODULE
CFLAGS_KERNEL	=
PERL		= perl


#ADD -DTHREADED_NET option to CFLAGS if you want receiver network reserve
#I did not add it on this version of Makefile

#ifndef XSCALELINUXDIR
XSCALELINUXDIR = ../
#endif
LINUXINCLUDE=$(XSCALELINUXDIR)/include

#Attention!!! Pls add -DTHREADED_NET if you want to have rcv_net_reserve

# For energy-aware LinuxRK, please add -DENERGY_AWARE
#                                      -Apple (12/23/02)

CFLAGS = -I$(LINUXINCLUDE) -DMODULE  -DCONFIG_RK \
	-D__RK__  -D__KERNEL__ -O2 -DDEBUG_RK \
	-D__bitsyx__ \
	-DRSV_PROPAGATION \
	-Wall -Wstrict-prototypes -fomit-frame-pointer  \
	-msoft-float -fno-builtin \
	-DDEBUG_BITSYX  \
	-DENERGY_AWARE


#CFLAGS = -I$(LINUXINCLUDE) -DMODULE  -DCONFIG_RK \
        -D__RK__  -D__KERNEL__ -O2 -DDEBUG_RK \
        -D__bitsyx__ \
        -DRSV_PROPAGATION \
        -Wall -Wstrict-prototypes -fomit-frame-pointer  \
        -msoft-float -fno-builtin \
        -DDEBUG_BITSYX
O_OBJS = misc.o  cpu_reserve.o mutex.o net_reserve.o reserve.o \
	resource_set.o rk_init.o rk_isr.o rk_procfs.o rk_sched.o \
	rt_process.o timer.o css_disk_cpu.o disk_reserve.o \
	pcp.o cpu_energy_aware.o

#O_OBJS = misc.o  cpu_reserve.o mutex.o net_reserve.o reserve.o \
        resource_set.o rk_init.o rk_isr.o rk_procfs.o rk_sched.o \
        rt_process.o timer.o \
        pcp.o cpu_energy_aware.o

ifeq ($(ARCH),ppc)
O_OBJS += ppc_timer.o division.o
endif

ifeq ($(ARCH), ipaq)
O_OBJS += ipaq_timer.o division.o
endif

ifeq ($(ARCH), i386)
O_OBJS += 8254.o division.o
endif

ifeq ($(ARCH), brh)
O_OBJS += brh_timer.o
endif

ifeq ($(ARCH), bitsyx)
O_OBJS += bitsyx_timer.o vscale_thread.o
endif

all:	rk.o

rk.o:	$(O_OBJS)	
		$(LD) -r -o rk.o $(O_OBJS)
#		$(LD) -EB -r -o rk.o $(O_OBJS)

#.c.o:
#	$(CC) $(CFLAGS) -c -o $@ $<

install: rk.o
	cp rk.o /usr/ssaewong/xscale/exports/ramdisk/usr/apple/test/.

deps :$(O_OBJS:.o=.c)
	$(CC) $(CFLAGS) -M $(O_OBJS:.o=.c) > deps

clean:		
		rm -rf *.o



ifeq (deps,$(wildcard deps))
include deps
endif

