#	       Makefile for SkyEye-V1.x
#------------------------------------------------------------------------	       
#    Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
#    Written by Cygnus Support.
# 
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# -------------------------------------------------------------------------
# Author Chen Yu <yuchen@tsinghua.edu.cn>


prefix = /usr/local
exec_prefix = ${prefix}

host_alias = i686-pc-cygwin
target_alias = arm-elf
program_transform_name = s,^,arm-elf-,; 
bindir = ${exec_prefix}/bin


EXEEXT = .exe
SHELL = /bin/sh

INSTALL = /usr/bin/install -c
INSTALL_PROGRAM = ${INSTALL}
INSTALL_DATA = ${INSTALL} -m 644

#CC = gcc-3.3
CC = gcc
#CC = gcc-4.0
CC_FOR_BUILD = $(CC)

AR = ar
AR_FLAGS = rc
RANLIB = ranlib
MAKEINFO = makeinfo

ARCH_ARM_CFLAGS = -I arch/arm -I arch/arm/common/ -I arch/arm/common/mmu/ -I arch/arm/mach/
DEVICE_CFLAGS = -I device/ -I device/net -I device/lcd -I device/flash
UTILS_CFLAGS = -I utils/share -I utils/main -I utils/config
SIM_EXTRA_CFLAGS = -DMODET $(ARCH_ARM_CFLAGS) $(DEVICE_CFLAGS) $(UTILS_CFLAGS) 
SIM_EXTRA_LIBS = `pkg-config gtk+-2.0 --libs`
#CFLAGS = -g  -DSTANDALONE -DDEFAULT_INLINE=0  -DMODET $(SIM_EXTRA_CFLAGS) -I. -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include  
CFLAGS = -g -O2 -DSTANDALONE -DDEFAULT_INLINE=0  -DMODET $(SIM_EXTRA_CFLAGS) -I. -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include  

ARM_COMMON_PATH= arch/arm/common
ARM_DBCT_PATH= arch/arm/dbct
ARM_MACH_PATH= arch/arm/mach
UTILS_PATH =utils
DEVICE_PATH=device
#ARM2X86_C_FILES = arm2x86.c arm2x86_dp.c arm2x86_mem.c arm2x86_movl.c arm2x86_mul.c arm2x86_other.c arm2x86_psr.c arm2x86_shift.c arm2x86_test.c arm2x86_coproc.c tb.c
ARM2X86_H_FILES = $(ARM_DBCT_PATH)/arm2x86.h $(ARM_DBCT_PATH)/arm2x86_dp.h $(ARM_DBCT_PATH)/arm2x86_mem.h $(ARM_DBCT_PATH)/arm2x86_movl.h $(ARM_DBCT_PATH)/arm2x86_mul.h $(ARM_DBCT_PATH)/arm2x86_other.h $(ARM_DBCT_PATH)/arm2x86_psr.h $(ARM_DBCT_PATH)/arm2x86_shift.h $(ARM_DBCT_PATH)/arm2x86_test.h $(ARM_DBCT_PATH)/arm2x86_coproc.h $(ARM_DBCT_PATH)/arm2x86_self.h $(ARM_DBCT_PATH)/tb.h
ARM2X86_O_FILES = binary/arm2x86.o binary/arm2x86_dp.o binary/arm2x86_mem.o binary/arm2x86_movl.o binary/arm2x86_mul.o binary/arm2x86_other.o binary/arm2x86_psr.o binary/arm2x86_shift.o binary/arm2x86_test.o binary/arm2x86_coproc.o binary/tb.o
ARM2X86_CFLAGS  = -DDEFAULT_INLINE=0           -DMODET -I. $(ARCH_ARM_CFLAGS) $(DEVICE_CFLAGS) $(UTILS_CFLAGS) -g -O

SIM_ARM_OBJS =  binary/armcopro.o binary/armemu26.o binary/armemu32.o binary/arminit.o  binary/armsupp.o \
	        binary/armos.o binary/thumbemu.o binary/armvirt.o  binary/armmmu.o binary/armmem.o binary/armio.o 
		
SIM_MMU_OBJS =  binary/tlb.o binary/cache.o binary/rb.o binary/wb.o \
		binary/sa_mmu.o binary/arm7100_mmu.o  binary/arm920t_mmu.o binary/arm926ejs_mmu.o\
		binary/maverick.o binary/xscale_copro.o 
		
SIM_MACH_OBJS = binary/skyeye_mach_at91.o binary/skyeye_mach_s3c4510b.o binary/skyeye_mach_s3c44b0.o \
		binary/skyeye_mach_ep7312.o binary/skyeye_mach_sa.o binary/skyeye_mach_cs89712.o \
		binary/skyeye_mach_ep9312.o binary/skyeye_mach_at91rm92.o binary/skyeye_mach_lh79520.o \
		binary/skyeye_mach_s3c2410x.o binary/skyeye_mach_s3c2440.o \
		binary/skyeye_mach_sharp.o binary/skyeye_mach_lpc.o \
		binary/skyeye_mach_pxa250.o binary/skyeye_mach_pxa270.o binary/skyeye_mach_ns9750.o
		
SIM_NET_OBJS =  binary/skyeye_net.o binary/skyeye_net_tuntap.o binary/skyeye_net_vnet.o \
		binary/dev_net_rtl8019.o binary/dev_net_cs8900a.o binary/dev_net_s3c4510b.o

ifdef NO_LCD
SIM_LCD_OBJS =  
CFLAGS += -DNO_LCD
SIM_EXTRA_LIBS = 
else
SIM_LCD_OBJS =  binary/skyeye_lcd.o binary/skyeye_lcd_gtk.o \
		binary/dev_lcd_ep7312.o binary/dev_lcd_pxa.o binary/dev_lcd_s3c2410.o
endif
SIM_FLASH_OBJS= binary/armflash.o binary/skyeye_flash.o

SIM_DEVICE_OBJS = binary/skyeye_device.o $(SIM_NET_OBJS) $(SIM_LCD_OBJS) $(SIM_FLASH_OBJS)
	        
SIM_UTILS_OBJS = binary/skyeye2gdb.o binary/skyeye_config.o binary/skyeye_options.o binary/skyeye_stub_win32.o binary/skyeye.o

SIM_OBJS = $(SIM_ARM_OBJS) \
	$(SIM_MMU_OBJS) \
	$(ARM2X86_O_FILES) \
	$(SIM_MACH_OBJS)  \
	$(SIM_DEVICE_OBJS) \
	$(SIM_UTILS_OBJS)



ALL_CFLAGS = $(CFLAGS)
BUILD_CFLAGS = -g -O 

COMMON_DEP_CFLAGS = 

CONFIG_LIBS =  -Wl,--export-dynamic -L/usr/X11R6/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangoxft-1.0 -lXft -lfreetype -lz -lXrender -lXext -lfontconfig -lpangox-1.0 -lX11 -lpango-1.0 -lm -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liconv  

LIB_OBJS = $(SIM_OBJS)

all: binary/libsim.a binary/skyeye
clean: $(SIM_EXTRA_CLEAN)
	rm -f binary/*.o
	rm -f binary/*.a
	rm -f binary/skyeye

distclean mostlyclean maintainer-clean realclean: clean
	rm -f TAGS tags
	rm -f binary/*
binary/libsim.a: $(LIB_OBJS)
	rm -f binary/libsim.a
	$(AR) $(AR_FLAGS) binary/libsim.a $(LIB_OBJS)
	$(RANLIB) binary/libsim.a

binary/skyeye: binary/libsim.a binary/skyeye.o
#teawater add for load elf 2005.07.31------------------------------------------
ifeq ($(TERM),cygwin)
	$(CC) $(ALL_CFLAGS) -o binary/skyeye binary/skyeye.o binary/libsim.a $(SIM_EXTRA_LIBS) -lc -lbfd -liberty -lintl -liconv
else
ifeq ($(OS),Windows_NT)
	$(CC) $(ALL_CFLAGS) -o binary/skyeye binary/skyeye.o binary/libsim.a $(SIM_EXTRA_LIBS) -lc -lbfd -liberty -lintl -liconv
else
	$(CC) $(ALL_CFLAGS) -o binary/skyeye binary/skyeye.o binary/libsim.a $(SIM_EXTRA_LIBS) -lbfd -liberty
endif
endif
#AJ2D--------------------------------------------------------------------------

binary/skyeye.o: utils/main/skyeye.c
	$(CC) -c $< -o $@ $(ALL_CFLAGS)
		
binary/skyeye2gdb.o: utils/debugger/skyeye2gdb.c
	$(CC) -c $< -o $@ $(ALL_CFLAGS)


.c.o:
	$(CC) -c $(ALL_CFLAGS) $<

binary/arm2x86.o: $(ARM_DBCT_PATH)/arm2x86.c $(ARM_COMMON_PATH)/armdefs.h $(ARM2X86_H_FILES)
	$(CC) -c $< -o $@ $(ARM2X86_CFLAGS)
binary/arm2x86_dp.o: $(ARM_DBCT_PATH)/arm2x86_dp.c $(ARM_COMMON_PATH)/armdefs.h $(ARM2X86_H_FILES)
	$(CC) -c $< -o $@ $(ARM2X86_CFLAGS)
binary/arm2x86_mem.o: $(ARM_DBCT_PATH)/arm2x86_mem.c $(ARM_COMMON_PATH)/armdefs.h $(ARM2X86_H_FILES)
	$(CC) -c $< -o $@ $(ARM2X86_CFLAGS)
binary/arm2x86_movl.o: $(ARM_DBCT_PATH)/arm2x86_movl.c $(ARM_COMMON_PATH)/armdefs.h $(ARM2X86_H_FILES)
	$(CC) -c $< -o $@ $(ARM2X86_CFLAGS)
binary/arm2x86_mul.o: $(ARM_DBCT_PATH)/arm2x86_mul.c $(ARM_COMMON_PATH)/armdefs.h $(ARM2X86_H_FILES)
	$(CC) -c $< -o $@ $(ARM2X86_CFLAGS)
binary/arm2x86_other.o: $(ARM_DBCT_PATH)/arm2x86_other.c $(ARM_COMMON_PATH)/armdefs.h $(ARM2X86_H_FILES)
	$(CC) -c $< -o $@ $(ARM2X86_CFLAGS)
binary/arm2x86_psr.o: $(ARM_DBCT_PATH)/arm2x86_psr.c $(ARM_COMMON_PATH)/armdefs.h $(ARM2X86_H_FILES)
	$(CC) -c $< -o $@ $(ARM2X86_CFLAGS)
binary/arm2x86_shift.o: $(ARM_DBCT_PATH)/arm2x86_shift.c $(ARM_COMMON_PATH)/armdefs.h $(ARM2X86_H_FILES)
	$(CC) -c $< -o $@ $(ARM2X86_CFLAGS)
binary/arm2x86_test.o: $(ARM_DBCT_PATH)/arm2x86_test.c $(ARM_COMMON_PATH)/armdefs.h $(ARM2X86_H_FILES)
	$(CC) -c $< -o $@ $(ARM2X86_CFLAGS)
binary/arm2x86_coproc.o: $(ARM_DBCT_PATH)/arm2x86_coproc.c $(ARM_COMMON_PATH)/armdefs.h $(ARM2X86_H_FILES)
	$(CC) -c $< -o $@ $(ARM2X86_CFLAGS)
binary/tb.o: $(ARM_DBCT_PATH)/tb.c $(ARM_COMMON_PATH)/armdefs.h $(ARM2X86_H_FILES)
	$(CC) -c $< -o $@ $(ALL_CFLAGS)

binary/armemu26.o: $(ARM_COMMON_PATH)/armemu.c $(ARM_COMMON_PATH)/armdefs.h $(ARM_COMMON_PATH)/armmmu.h $(ARM_COMMON_PATH)/armmem.h $(ARM_COMMON_PATH)/armio.h $(ARM_COMMON_PATH)/armemu.h 
	$(CC) -c $< -o binary/armemu26.o  $(ALL_CFLAGS)
binary/armemu32.o: $(ARM_COMMON_PATH)/armemu.c $(ARM_COMMON_PATH)/armdefs.h $(ARM_COMMON_PATH)/armmmu.h $(ARM_COMMON_PATH)/armmem.h $(ARM_COMMON_PATH)/armio.h $(ARM_COMMON_PATH)/armemu.h
	$(CC) -c $< -o binary/armemu32.o -DMODE32 $(ALL_CFLAGS)
binary/armos.o: $(ARM_COMMON_PATH)/armos.c $(ARM_COMMON_PATH)/armdefs.h $(ARM_COMMON_PATH)/armmmu.h $(ARM_COMMON_PATH)/armmem.h $(ARM_COMMON_PATH)/armio.h $(ARM_COMMON_PATH)/armos.h
	$(CC) -c $< -o $@ $(ALL_CFLAGS)
binary/armcopro.o: $(ARM_COMMON_PATH)/armcopro.c $(ARM_COMMON_PATH)/armdefs.h $(ARM_COMMON_PATH)/armmmu.h $(ARM_COMMON_PATH)/armmem.h $(ARM_COMMON_PATH)/armio.h
	$(CC) -c $< -o $@ $(ALL_CFLAGS)
binary/arminit.o: $(ARM_COMMON_PATH)/arminit.c $(ARM_COMMON_PATH)/armdefs.h $(ARM_COMMON_PATH)/armmmu.h $(ARM_COMMON_PATH)/armmem.h $(ARM_COMMON_PATH)/armio.h $(ARM_COMMON_PATH)/armemu.h $(ARM_DBCT_PATH)/arm2x86.h
	$(CC) -c $< -o $@ $(ALL_CFLAGS)
binary/armsupp.o: $(ARM_COMMON_PATH)/armsupp.c $(ARM_COMMON_PATH)/armdefs.h $(ARM_COMMON_PATH)/armmmu.h $(ARM_COMMON_PATH)/armmem.h $(ARM_COMMON_PATH)/armio.h $(ARM_COMMON_PATH)/armemu.h
	$(CC) -c $< -o $@ $(ALL_CFLAGS)
binary/thumbemu.o: $(ARM_COMMON_PATH)/thumbemu.c $(ARM_COMMON_PATH)/armdefs.h $(ARM_COMMON_PATH)/armmmu.h $(ARM_COMMON_PATH)/armmem.h $(ARM_COMMON_PATH)/armio.h $(ARM_COMMON_PATH)/armemu.h
	$(CC) -c $< -o $@ $(ALL_CFLAGS)
binary/armio.o:	$(ARM_COMMON_PATH)/armio.c $(ARM_COMMON_PATH)/armdefs.h $(ARM_COMMON_PATH)/armmmu.h $(ARM_COMMON_PATH)/armmem.h $(ARM_COMMON_PATH)/armio.h 
	$(CC) -c $< -o $@ $(ALL_CFLAGS)
binary/armmem.o:	$(ARM_COMMON_PATH)/armmem.c $(ARM_COMMON_PATH)/armdefs.h $(ARM_COMMON_PATH)/armmmu.h $(ARM_COMMON_PATH)/armmem.h $(ARM_COMMON_PATH)/armio.h $(ARM_DBCT_PATH)/tb.h
	$(CC) -c $< -o $@ $(ALL_CFLAGS)
binary/armmmu.o:	$(ARM_COMMON_PATH)/armmmu.c $(ARM_COMMON_PATH)/armdefs.h $(ARM_COMMON_PATH)/armmmu.h $(ARM_COMMON_PATH)/armmem.h $(ARM_COMMON_PATH)/armio.h 
	$(CC) -c $< -o $@ $(ALL_CFLAGS)
binary/armvirt.o:	$(ARM_COMMON_PATH)/armvirt.c $(ARM_COMMON_PATH)/armdefs.h $(ARM_COMMON_PATH)/armmmu.h $(ARM_COMMON_PATH)/armmem.h $(ARM_COMMON_PATH)/armio.h 
	$(CC) -c $< -o $@ $(ALL_CFLAGS)
binary/skyeye_stub_win32.o: $(UTILS_PATH)/stub/skyeye_stub_win32.c $(ARM_COMMON_PATH)/armdefs.h
	$(CC) -c $< -o $@ $(ALL_CFLAGS)
binary/skyeye_config.o: $(UTILS_PATH)/config/skyeye_config.c $(UTILS_PATH)/config/skyeye_config.h $(ARM_COMMON_PATH)/armdefs.h
	$(CC) -c $< -o $@ $(ALL_CFLAGS)
binary/skyeye_options.o: $(UTILS_PATH)/config/skyeye_options.c $(UTILS_PATH)/config/skyeye_config.h \
			$(ARM_COMMON_PATH)/armdefs.h $(ARM_COMMON_PATH)/armmem.h $(ARM_COMMON_PATH)/armio.h
	$(CC) -c $< -o $@ $(ALL_CFLAGS)


#SIM_MMU_OBJS
binary/arm7100_mmu.o: $(ARM_COMMON_PATH)/mmu/arm7100_mmu.c $(ARM_COMMON_PATH)/mmu/arm7100_mmu.h
	$(CC)  $(ALL_CFLAGS) -c $< -o $@
binary/arm920t_mmu.o: $(ARM_COMMON_PATH)/mmu/arm920t_mmu.c $(ARM_COMMON_PATH)/mmu/arm920t_mmu.h
	$(CC)  $(ALL_CFLAGS) -c $< -o $@
binary/arm926ejs_mmu.o: $(ARM_COMMON_PATH)/mmu/arm926ejs_mmu.c $(ARM_COMMON_PATH)/mmu/arm926ejs_mmu.h
	$(CC)  $(ALL_CFLAGS) -c $< -o $@
binary/sa_mmu.o: $(ARM_COMMON_PATH)/mmu/sa_mmu.c $(ARM_COMMON_PATH)/mmu/sa_mmu.h
	$(CC)  $(ALL_CFLAGS) -c $< -o $@
binary/xscale_copro.o: $(ARM_COMMON_PATH)/mmu/xscale_copro.c 
	$(CC)  $(ALL_CFLAGS) -c $< -o $@
binary/maverick.o: $(ARM_COMMON_PATH)/mmu/maverick.c $(ARM_COMMON_PATH)/armdefs.h
	$(CC)  $(ALL_CFLAGS) -c $< -o $@
binary/tlb.o:  $(ARM_COMMON_PATH)/mmu/tlb.c $(ARM_COMMON_PATH)/mmu/tlb.h
	$(CC)  -c $< -o $@ $(ALL_CFLAGS)
binary/cache.o:        $(ARM_COMMON_PATH)/mmu/cache.c $(ARM_COMMON_PATH)/mmu/cache.h
	$(CC)  -c $< -o $@ $(ALL_CFLAGS)
binary/rb.o:   $(ARM_COMMON_PATH)/mmu/rb.c $(ARM_COMMON_PATH)/mmu/rb.h
	$(CC)  -c $< -o $@ $(ALL_CFLAGS)
binary/wb.o:   $(ARM_COMMON_PATH)/mmu/wb.c $(ARM_COMMON_PATH)/mmu/wb.h
	$(CC)  -c $< -o $@ $(ALL_CFLAGS)



#SIM_MACH_OBJS

binary/skyeye_mach_at91.o: $(ARM_MACH_PATH)/skyeye_mach_at91.c  $(UTILS_PATH)/config/skyeye_config.h \
			$(ARM_COMMON_PATH)/armdefs.h $(ARM_COMMON_PATH)/armio.h $(ARM_MACH_PATH)/at91.h
	$(CC)  $(ALL_CFLAGS) -c $< -o $@
binary/skyeye_mach_ep7312.o: $(ARM_MACH_PATH)/skyeye_mach_ep7312.c $(UTILS_PATH)/config/skyeye_config.h \
			$(ARM_COMMON_PATH)/armdefs.h $(ARM_COMMON_PATH)/armio.h $(ARM_MACH_PATH)/clps7110.h
	$(CC)  $(ALL_CFLAGS) -c $< -o $@
binary/skyeye_mach_lh79520.o: $(ARM_MACH_PATH)/skyeye_mach_lh79520.c $(UTILS_PATH)/config/skyeye_config.h \
			$(ARM_COMMON_PATH)/armdefs.h $(ARM_COMMON_PATH)/armio.h $(ARM_MACH_PATH)/lh79520.h $(ARM_MACH_PATH)/lh79520-hardware.h \
			$(ARM_MACH_PATH)/lh79520-irqs.h $(ARM_MACH_PATH)/serial_amba_pl011.h
	$(CC)  $(ALL_CFLAGS) -c $< -o $@

binary/skyeye_mach_cs89712.o: $(ARM_MACH_PATH)/skyeye_mach_cs89712.c $(UTILS_PATH)/config/skyeye_config.h \
                        $(ARM_COMMON_PATH)/armdefs.h $(ARM_COMMON_PATH)/armio.h $(ARM_MACH_PATH)/clps7110.h $(ARM_MACH_PATH)/ep7212.h $(ARM_MACH_PATH)/cs89712.h
	$(CC)  $(ALL_CFLAGS) -c $< -o $@

binary/skyeye_mach_ep9312.o: $(ARM_MACH_PATH)/skyeye_mach_ep9312.c $(UTILS_PATH)/config/skyeye_config.h \
			$(ARM_COMMON_PATH)/armdefs.h $(ARM_COMMON_PATH)/armio.h $(ARM_MACH_PATH)/clps9312.h $(ARM_MACH_PATH)/ep9312.h
	$(CC)  $(ALL_CFLAGS) -c $< -o $@
binary/skyeye_mach_s3c4510b.o: $(ARM_MACH_PATH)/skyeye_mach_s3c4510b.c $(UTILS_PATH)/config/skyeye_config.h \
			$(ARM_COMMON_PATH)/armdefs.h $(ARM_COMMON_PATH)/armio.h $(ARM_MACH_PATH)/s3c4510b.h
	$(CC)  $(ALL_CFLAGS) -c $< -o $@
binary/skyeye_mach_s3c44b0.o: $(ARM_MACH_PATH)/skyeye_mach_s3c44b0.c $(UTILS_PATH)/config/skyeye_config.h \
			$(ARM_COMMON_PATH)/armdefs.h $(ARM_COMMON_PATH)/armio.h $(ARM_MACH_PATH)/s3c44b0.h
	$(CC)  $(ALL_CFLAGS) -c $< -o $@
binary/skyeye_mach_sa.o: $(ARM_MACH_PATH)/skyeye_mach_sa.c $(ARM_MACH_PATH)/sa1100.h
	$(CC)  $(ALL_CFLAGS) -c $< -o $@
binary/skyeye_mach_at91rm92.o: $(ARM_MACH_PATH)/skyeye_mach_at91rm92.c $(ARM_MACH_PATH)/at91rm92.h
	$(CC)  $(ALL_CFLAGS) -c $< -o $@
binary/skyeye_mach_s3c2410x.o: $(ARM_MACH_PATH)/skyeye_mach_s3c2410x.c $(ARM_MACH_PATH)/s3c2410x.h
	$(CC)  $(ALL_CFLAGS) -c $< -o $@
binary/skyeye_mach_s3c2440.o: $(ARM_MACH_PATH)/skyeye_mach_s3c2440.c $(ARM_MACH_PATH)/s3c2440.h
	$(CC)  $(ALL_CFLAGS) -c $< -o $@
binary/skyeye_mach_sharp.o: $(ARM_MACH_PATH)/skyeye_mach_sharp.c $(ARM_MACH_PATH)/sharp.h
	$(CC)  $(ALL_CFLAGS) -c $< -o $@
binary/skyeye_mach_pxa250.o: $(ARM_MACH_PATH)/skyeye_mach_pxa250.c $(ARM_MACH_PATH)/pxa.h
	$(CC)  $(ALL_CFLAGS) -c $< -o $@
binary/skyeye_mach_pxa270.o: $(ARM_MACH_PATH)/skyeye_mach_pxa270.c $(ARM_MACH_PATH)/pxa.h
	$(CC)  $(ALL_CFLAGS) -c $< -o $@
binary/skyeye_mach_lpc.o: $(ARM_MACH_PATH)/skyeye_mach_lpc.c $(ARM_MACH_PATH)/lpc.h
	$(CC)  $(ALL_CFLAGS) -c $< -o $@
binary/skyeye_mach_ns9750.o: $(ARM_MACH_PATH)/skyeye_mach_ns9750.c $(ARM_MACH_PATH)/ns9750.h
	$(CC)  $(ALL_CFLAGS) -c $< -o $@

#SIM_DEVICE_OBJS
binary/skyeye_device.o: $(DEVICE_PATH)/skyeye_device.c $(DEVICE_PATH)/skyeye_device.h
	$(CC) -c $< -o $@ $(ALL_CFLAGS)
#SIM_FLASH_OBJS	
binary/armflash.o:     $(DEVICE_PATH)/flash/armflash.c $(DEVICE_PATH)/flash/armflash.h $(ARM_COMMON_PATH)/armdefs.h
	$(CC) -c $< -o $@ $(ALL_CFLAGS)
binary/skyeye_flash.o: $(DEVICE_PATH)/flash/skyeye_flash.c $(DEVICE_PATH)/flash/skyeye_flash.h $(ARM_COMMON_PATH)/armdefs.h
	$(CC) -c $< -o $@ $(ALL_CFLAGS)
#SIM_NET_OBJS
binary/dev_net_%.o: $(DEVICE_PATH)/net/dev_net_%.c $(DEVICE_PATH)/net/dev_net_%.h
	$(CC)  $(ALL_CFLAGS) -c $< -o $@
binary/skyeye_net.o: $(DEVICE_PATH)/net/skyeye_net.c $(DEVICE_PATH)/net/skyeye_net.h
	$(CC)  $(ALL_CFLAGS) -c $< -o $@
binary/skyeye_net_%.o: $(DEVICE_PATH)/net/skyeye_net_%.c $(DEVICE_PATH)/net/skyeye_net.h
	$(CC)  $(ALL_CFLAGS) -c $< -o $@

#SIM_LCD_OBJS
binary/dev_lcd_%.o: $(DEVICE_PATH)/lcd/dev_lcd_%.c $(DEVICE_PATH)/lcd/dev_lcd_%.h
	$(CC) -g -O2 $(ALL_CFLAGS) -c $< -o $@
binary/skyeye_lcd.o: $(DEVICE_PATH)/lcd/skyeye_lcd.c $(DEVICE_PATH)/lcd/skyeye_lcd.h
	$(CC) -g -O2 $(ALL_CFLAGS) -c $< -o $@
binary/skyeye_lcd_gtk.o: $(DEVICE_PATH)/lcd/skyeye_lcd_gtk.c $(DEVICE_PATH)/lcd/skyeye_lcd.h
	$(CC) -g -O2 $(ALL_CFLAGS) -c $< -o $@ `pkg-config gtk+-2.0 --cflags`
