# For compiling with source and object files in different directories.
srcdir = .

# Where to install the programs and man pages.
prefix = /usr/local
exec_prefix = ${prefix}
bindir = $(exec_prefix)/bin
libdir = $(exec_prefix)/lib
includedir = $(prefix)/include
binprefix =
manprefix =
manext = 1
mandir = $(prefix)/man/man$(manext)

# The name of your C compiler:
CC= ccache arc-linux-uclibc-gcc
#MCC= ccache /usr/local/arc/mw7.4.3/MetaWare/arc/bin/mcc
#ARAC = /usr/local/arc/mw7.4.3/MetaWare/arc/bin/arac
MCC= ccache mcc
ARAC = arac

# You may need to adjust these cc options:
# Robert 2007-12-20
#CFLAGS = -mA7 -mno-sdata -mno-volatile-cache -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 -Os -I $(srcdir)
CFLAGS = -mA7 -mno-sdata -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 -O2 -I $(srcdir)

# Link-time cc options:
#LNFLAGS = -O2 -s
#LNFLAGS = -static $(CFLAGS) -s
LNFLAGS = $(CFLAGS) -s

# To link any special libraries, add the necessary -l commands here.
LDLIBS = 

# If using GNU libtool, LIBTOOL references it; if not, LIBTOOL is empty.
LIBTOOL = 
# $(O) expands to "lo" if using libtool, plain "o" if not.
# Similarly, $(A) expands to "la" or "a".
O = o
A = a

# Put here the object file name for the correct system-dependent memory
# manager file.  For Unix this is usually jmemnobs.o, but you may want
# to use jmemansi.o or jmemname.o if you have limited swap space.
SYSDEPMEM = jmemnobs.$(O)

# miscellaneous OS-dependent stuff
SHELL = /bin/sh
# linker
LN = $(CC)
# file deletion command
RM = rm -f
# directory creation command
MKDIR = mkdir
# library (.a) file creation command
AR = ar rc
# second step in .a creation (use "touch" if not needed)
AR2 = ranlib
# installation program
INSTALL = /usr/bin/install -c
INSTALL_PROGRAM = ${INSTALL}
INSTALL_LIB = ${INSTALL} -m 644
INSTALL_DATA = ${INSTALL} -m 644

# End of configurable options.

# object files for sample applications (excluding library files)
OBJECTS = bmp.$(O) tiff.$(O) dsevents.$(O) mtevents.$(O) setupevents.$(O) imagevents.$(O) fullimagevents.$(O) audioevents.$(O) videoevents.$(O) fullvideoevents.$(O) slideshowevents.$(O) usb2pcevent.$(O) confirmevents.$(O) fbutil.$(O) generalevents.$(O) ir.$(O) pgu_lib.$(O) skydemo.$(O) skyinit.$(O) machineinit.$(O) machinedisplay.$(O) machineshutdown.$(O) parser.$(O) skyutil.$(O) monitormprocess.$(O) monitordevs.$(O) calevents.$(O) drawutil.$(O) monitormisc.$(O) Folderevents.$(O) Huffman.$(O) FontDB.$(O) FWUpgrade.$(O) btevents.$(O) fldrfievents.$(O) fldrfvevents.$(O) rssevents.$(O) hdautocpevents.$(O) textutil.$(O) arc_tcon.$(O) arc_tcon_param.$(O) ipcamevents.$(O) list.$(O) skyform.$(O) webapp.$(O)
OBJECTSLEADTEK = bmp.$(O) tiff.$(O) dsevents.$(O) mtevents.$(O) setupevents.$(O) imagevents.$(O) fullimagevents.$(O) audioevents.$(O) videoevents.$(O) fullvideoevents.$(O) slideshowevents.$(O) usb2pcevent.$(O) confirmevents.$(O) fbutil.$(O) generalevents.$(O) ir.$(O) pgu_lib.$(O) skydemo.$(O) skyinit.$(O) machineinit.$(O) machinedisplay.$(O) machineshutdown.$(O) parser.$(O) skyutil.$(O) monitormprocess.$(O) monitordevs.$(O) calevents.$(O) drawutil.$(O) monitormisc.$(O) Folderevents.$(O) Huffman.$(O) FontDB.$(O) FWUpgrade.$(O) btevents.$(O) fldrfievents.$(O) fldrfvevents.$(O) rssevents.$(O) hdautocpevents.$(O) textutil.$(O) arc_tcon.$(O) arc_tcon_param.$(O) calltest.$(O) get_time.$(O) list.$(O)
#OBJECTS = bmp.$(O) dsevents.$(O) mtevents.$(O) setupevents.$(O) imagevents.$(O) fullimagevents.$(O) audioevents.$(O) videoevents.$(O) fullvideoevents.$(O) slideshowevents.$(O) usb2pcevent.$(O) confirmevents.$(O) fbutil.$(O) generalevents.$(O) ir.$(O) pgu_lib.$(O) skydemo.$(O) skyinit.$(O) machineinit.$(O) machinedisplay.$(O) machineshutdown.$(O) parser.$(O) skyutil.$(O) monitormprocess.$(O) monitordevs.$(O) calevents.$(O) drawutil.$(O) monitormisc.$(O) Folderevents.$(O) Huffman.$(O) FontDB.$(O) 
#OBJECTS = bmp.$(O) caption.$(O) iso8859_15_26.$(O) dsevents.$(O) mtevents.$(O) setupevents.$(O) imagevents.$(O) fullimagevents.$(O) audioevents.$(O) videoevents.$(O) fullvideoevents.$(O) slideshowevents.$(O) usb2pcevent.$(O) fbutil.$(O) generalevents.$(O) ir.$(O) pgu_lib.$(O) skydemo.$(O) skyinit.$(O) machineinit.$(O) machinedisplay.$(O) machineshutdown.$(O) parser.$(O) skyutil.$(O) monitormprocess.$(O) monitordevs.$(O)
#OBJECTS = bmp.$(O) caption.$(O) dsevents.$(O) mtevents.$(O) setupevents.$(O) imagevents.$(O) fullimagevents.$(O) audioevents.$(O) videoevents.$(O) fullvideoevents.$(O) slideshowevents.$(O) usb2pcevent.$(O) confirmevents.$(O) fbutil.$(O) generalevents.$(O) ir.$(O) pgu_lib.$(O) skydemo.$(O) skyinit.$(O) machineinit.$(O) machinedisplay.$(O) machineshutdown.$(O) parser.$(O) skyutil.$(O) monitormprocess.$(O) monitordevs.$(O) calevents.$(O) drawutil.$(O) monitormisc.$(O) Folderevents.$(O) Huffman.$(O) FontDB.$(O)
#OBJECTS = font7x14.$(O) taipei16.$(O) iso8859_15_26.$(O)

all	: skydemo

# Special compilation rules to support ansi2knr and libtool.
.SUFFIXES: .lo .la

# How to compile with libtool.
# .c.lo:
# 	$(LIBTOOL) --mode=compile $(CC) $(CFLAGS) -c $(srcdir)/$*.c

# sample programs:
skydemo	: $(OBJECTS)
	$(LN) $(LNFLAGS) -o skydemo $(OBJECTS) -lpthread libskysimd.a libiconv.a

leadtek : $(OBJECTSLEADTEK)
	$(LN) $(LNFLAGS) -o skydemo $(OBJECTSLEADTEK) -lpthread libskysimd.a libiconv.a

$(OBJECTSLEADTEK) : clean

skysimd.$(O): skysimd.c
	$(MCC) -A7 -core2 -I/usr/local/arc/arc-linux-uclibc/include/ -arc700 -O6 -Mb -Xsimd -Xbarrel_shifter   -w4 -Dinline=_Inline -Hsdata0 -Hkeepasm -Hnocrt -s -c -o skysimd.o skysimd.c

libskysimd.a: skysimd.o
	$(RM) libskysimd.a
	$(ARAC) r libskysimd.a skysimd.o

$(OBJECTS) : clean

clean : 
	$(RM) *.o
	$(RM) skydemo
