#SHELL = /bin/sh

LIBS = ../lib/libi8k.a
LIBS_8120 = ../lib/libi8120w.a
LIBS_8123 = ../lib/libi8123w.a
CFLAGS = -I. -I../include
LDFLAGS = -lm


GTKCFLAGS =  -I. -I../include -D_REENTRANT -I../../tools/arm-linux-gnueabihf/libc/usr/include -I../../tools/arm-linux-gnueabihf/libc/usr/include/gtk-2.0 -I../../tools/arm-linux-gnueabihf/libc/usr/include/gtk-2.0/gtk -I../../tools/arm-linux-gnueabihf/libc/usr/lib/gtk-2.0/include -I../../tools/arm-linux-gnueabihf/libc/usr/include/atk-1.0 -I../../tools/arm-linux-gnueabihf/libc/usr/include/freetype2 -I../../tools/arm-linux-gnueabihf/libc/usr/include/pango-1.0  -I../../tools/arm-linux-gnueabihf/libc/usr/include/glib-2.0 -I../../tools/arm-linux-gnueabihf/libc/usr/lib/glib-2.0/include -I../../tools/arm-linux-gnueabihf/libc/usr/include/cairo -I../../tools/arm-linux-gnueabihf/libc/usr/include/gdk-pixbuf-2.0 -Wl,--export-dynamic -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lXft -lfreetype -lXrender -lXext -lxcb -lXdmcp -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0  -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lgthread-2.0 -lglib-2.0

CROSS_COMPILE 	= arm-linux-gnueabihf-

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


all:  helloworld  read_sn echosvr setport getport send_receive timer2 getexdi setexdo getexai setexao getsendreceive setsend getreceive getdi setdo 
all:  getlist_8x2x getlist_9x2x getdo_rb setdo_bw led_8x2x led_9x2x slot_count back_plane_id  rsw getsendreceive_bin mram dip_switch  eeprom uart
all:  setdo_getdi sio_port blocking non_blocking i7kdio i7kaio send_read  
all:  demo8080 demo8050W demo8090W demo8091W demo8093W i8kaio i8kaio2 i8kaio_8k i8kdio_8k int setao getdi_inv getai
all:  i87kaio i87kdio i87kaio_87k i87kdio_87k wdt_safe_value 
all:  abphase freq pulse-dir up up-down avg-freq i8172W_FR_2054DIO i8172W_FR_2053DI i8172W_FR_2057DO i8172W_ReadAI demo8172
all:  demoi87084 demoi87120 demoi87123 power_on_value_8024UW_8028UW safe_value_8024UW_8028UW setao setao_8024UW_8028UW 8048W_getdi 8048W_Int
all:  demo8120W demo8026W demo8088W  demo8014W 8014W_magic_Blk 8014W_magic_NoBlk 8014W_magic_isr 
all:  getai_i9017 9014_magic_Blk setao_i9024 9014_magic_isr 9014_magic_NoBlk demo9014 power_on_value_9024U_9028U safe_value_9024U_9028U setao_9024U_9028U 
all:  i97kaio read_encoder_9093 i9053_lpf 
all:  getxvai  getxvao  getxvdi  getxvdo getmodbus setmodbus  setxvao  setxvdo 
all:  helloworld_gtk demo1 demo2 hello_gtk buzzer 
	
helloworld: ./common/helloworld.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/helloworld.o $(LIBS) $(LDFLAGS)
	rm -f ./common/helloworld.o

getlist_8x2x: ./common/getlist_8x2x.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/getlist_8x2x.o $(LIBS) $(LDFLAGS)
	rm -f ./common/getlist_8x2x.o
	
getlist_9x2x: ./common/getlist_9x2x.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/getlist_9x2x.o $(LIBS) $(LDFLAGS)
	rm -f ./common/getlist_9x2x.o	

read_sn: ./common/read_sn.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/read_sn.o $(LIBS) $(LDFLAGS)
	rm -f ./common/read_sn.o

send_receive: ./common/send_receive.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/send_receive.o $(LIBS) $(LDFLAGS)
	rm -f ./common/send_receive.o

getsendreceive: ./common/getsendreceive.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/getsendreceive.o $(LIBS) $(LDFLAGS)
	rm -f ./common/getsendreceive.o

setsend: ./common/setsend.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/setsend.o $(LIBS) $(LDFLAGS)
	rm -f ./common/setsend.o

getreceive: ./common/getreceive.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/getreceive.o $(LIBS) $(LDFLAGS)
	rm -f ./common/getreceive.o

eeprom: ./common/eeprom.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/eeprom.o $(LIBS) $(LDFLAGS)
	rm -f ./common/eeprom.o

timer: ./common/timer.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/timer.o $(LIBS) $(LDFLAGS)
	rm -f ./common/timer.o

timer2: ./common/timer2.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/timer2.o $(LIBS) $(LDFLAGS)
	rm -f ./common/timer2.o

uart: ./common/uart.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/uart.o $(LIBS) $(LDFLAGS)
	rm -f ./common/uart.o

setport: ./common/setport.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/setport.o $(LIBS) $(LDFLAGS)
	rm -f ./common/setport.o

getport: ./common/getport.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/getport.o $(LIBS) $(LDFLAGS)
	rm -f ./common/getport.o

echosvr: ./common/echosvr.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/echosvr.o $(LIBS) $(LDFLAGS)
	rm -f ./common/echosvr.o

getexdi: ./common/getexdi.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/getexdi.o $(LIBS) $(LDFLAGS)
	rm -f ./common/getexdi.o

setexdo: ./common/setexdo.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/setexdo.o $(LIBS) $(LDFLAGS)
	rm -f ./common/setexdo.o

getexai: ./common/getexai.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/getexai.o $(LIBS) $(LDFLAGS)
	rm -f ./common/getexai.o

setexao: ./common/setexao.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/setexao.o $(LIBS) $(LDFLAGS)
	rm -f ./common/setexao.o

mram: ./common/mram.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/mram.o $(LIBS) $(LDFLAGS)
	rm -f ./common/mram.o

getdo_rb: ./common/getdo_rb.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/getdo_rb.o $(LIBS) $(LDFLAGS)
	rm -f ./common/getdo_rb.o

setdo_bw: ./common/setdo_bw.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/setdo_bw.o $(LIBS) $(LDFLAGS)
	rm -f ./common/setdo_bw.o

setdo: ./common/setdo.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/setdo.o $(LIBS) $(LDFLAGS)
	rm -f ./common/setdo.o
  	
led_8x2x: ./common/led_8x2x.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/led_8x2x.o $(LIBS) $(LDFLAGS)
	rm -f ./common/led_8x2x.o	
	
led_9x2x: ./common/led_9x2x.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/led_9x2x.o $(LIBS) $(LDFLAGS)
	rm -f ./common/led_9x2x.o	
	
slot_count: ./common/slot_count.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/slot_count.o $(LIBS) $(LDFLAGS)
	rm -f ./common/slot_count.o
	
back_plane_id: ./common/back_plane_id.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/back_plane_id.o $(LIBS) $(LDFLAGS)
	rm -f ./common/back_plane_id.o
	
dip_switch: ./common/dip_switch.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/dip_switch.o $(LIBS) $(LDFLAGS)
	rm -f ./common/dip_switch.o
	
rsw: ./common/rsw.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/rsw.o $(LIBS) $(LDFLAGS)
	rm -f ./common/rsw.o
	
getsendreceive_bin: ./common/getsendreceive_bin.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/getsendreceive_bin.o $(LIBS) $(LDFLAGS)
	rm -f ./common/getsendreceive_bin.o        
	
int: ./common/int.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/int.o $(LIBS) $(LDFLAGS)
	rm -f ./common/int.o
    	
getdi_inv: ./common/getdi_inv.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/getdi_inv.o $(LIBS) $(LDFLAGS)
	rm -f ./common/getdi_inv.o
	
sio_port: ./common/serial_port/sio_port.o
	$(CC) $(CFLAGS) -o ./common/serial_port/$@ ./common/serial_port/sio_port.o $(LIBS) $(LDFLAGS)
	rm -f ./common/serial_port/sio_port.o   	
	
non_blocking: ./common/serial_port/non_blocking.o
	$(CC) $(CFLAGS) -o ./common/serial_port/$@ ./common/serial_port/non_blocking.o $(LIBS) $(LDFLAGS)
	rm -f ./common/serial_port/non_blocking.o	

blocking: ./common/serial_port/blocking.o
	$(CC) $(CFLAGS) -o ./common/serial_port/$@ ./common/serial_port/blocking.o $(LIBS) $(LDFLAGS)
	rm -f ./common/serial_port/blocking.o		
	
getdi: ./common/getdi.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/getdi.o $(LIBS) $(LDFLAGS)
	rm -f ./common/getdi.o	

setdo_getdi: ./common/setdo_getdi.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/setdo_getdi.o $(LIBS) $(LDFLAGS)
	rm -f ./common/setdo_getdi.o
   	
buzzer: ./common/buzzer.o
	$(CC) $(CFLAGS) -o ./common/$@ ./common/buzzer.o $(LIBS) $(LDFLAGS)
	rm -f ./common/buzzer.o

send_read: ./i7k/send_read.o
	$(CC) $(CFLAGS) -o ./i7k/$@ ./i7k/send_read.o $(LIBS) $(LDFLAGS)
	rm -f ./i7k/send_read.o

i7kdio: ./i7k/i7kdio.o
	$(CC) $(CFLAGS) -o ./i7k/$@ ./i7k/i7kdio.o $(LIBS) $(LDFLAGS)
	rm -f ./i7k/i7kdio.o

i7kaio: ./i7k/i7kaio.o
	$(CC) $(CFLAGS) -o ./i7k/$@ ./i7k/i7kaio.o $(LIBS) $(LDFLAGS)
	rm -f ./i7k/i7kaio.o

i87kdio: ./i87k/i87kdio.o
	$(CC) $(CFLAGS) -o ./i87k/$@ ./i87k/i87kdio.o $(LIBS) $(LDFLAGS)
	rm -f ./i87k/i87kdio.o

wdt_safe_value: ./i87k/wdt_safe_value.o
	$(CC) $(CFLAGS) -o ./i87k/$@ ./i87k/wdt_safe_value.o $(LIBS) $(LDFLAGS)
	rm -f ./i87k/wdt_safe_value.o
	
i87kaio: ./i87k/i87kaio.o
	$(CC) $(CFLAGS) -o ./i87k/$@ ./i87k/i87kaio.o $(LIBS) $(LDFLAGS)
	rm -f ./i87k/i87kaio.o

i87kdio_87k: ./i87k/i87kdio_87k.o
	$(CC) $(CFLAGS) -o ./i87k/$@ ./i87k/i87kdio_87k.o $(LIBS) $(LDFLAGS)
	rm -f ./i87k/i87kdio_87k.o

i87kaio_87k: ./i87k/i87kaio_87k.o
	$(CC) $(CFLAGS) -o ./i87k/$@ ./i87k/i87kaio_87k.o $(LIBS) $(LDFLAGS)
	rm -f ./i87k/i87kaio_87k.o

i8kaio: ./i8k/i8kaio.o
	$(CC) $(CFLAGS) -o ./i8k/$@ ./i8k/i8kaio.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/i8kaio.o
	
i8kaio2: ./i8k/i8kaio2.o
	$(CC) $(CFLAGS) -o ./i8k/$@ ./i8k/i8kaio2.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/i8kaio2.o	

i8kdio_8k: ./i8k/i8kdio_8k.o
	$(CC) $(CFLAGS) -o ./i8k/$@ ./i8k/i8kdio_8k.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/i8kdio_8k.o

i8kaio_8k: ./i8k/i8kaio_8k.o
	$(CC) $(CFLAGS) -o ./i8k/$@ ./i8k/i8kaio_8k.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/i8kaio_8k.o

demo8120W: ./i8k/demo8120W.o
	$(CC) $(CFLAGS) -o ./i8k/$@ ./i8k/demo8120W.o $(LIBS) $(LDFLAGS)  $(LIBS_8120) -lpthread
	rm -f ./i8k/demo8120W.o

demo8026W: ./i8k/demo8026W.o
	$(CC) $(CFLAGS) -o ./i8k/$@ ./i8k/demo8026W.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/demo8026W.o

demo8090W: ./i8k/demo8090W.o
	$(CC) $(CFLAGS) -o ./i8k/$@ ./i8k/demo8090W.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/demo8090W.o

demo8091W: ./i8k/demo8091W.o
	$(CC) $(CFLAGS) -o ./i8k/$@ ./i8k/demo8091W.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/demo8091W.o

demo8093W: ./i8k/demo8093W.o
	$(CC) $(CFLAGS) -o ./i8k/$@ ./i8k/demo8093W.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/demo8093W.o	


setao: ./i8k/setao.o
	$(CC) $(CFLAGS) -o ./i8k/$@ ./i8k/setao.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/setao.o

getai: ./i8k/getai.o
	$(CC) $(CFLAGS) -o ./i8k/$@ ./i8k/getai.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/getai.o


demo8172: ./i8k/demo8172W/demo8172.o
	$(CC) $(CFLAGS) -o ./i8k/demo8172W/$@ ./i8k/demo8172W/demo8172.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/demo8172W/demo8172.o		

	
i8172W_FR_2054DIO: ./i8k/demo8172W/i8172W_FR_2054DIO.o
	$(CC) $(CFLAGS) -o ./i8k/demo8172W/$@ ./i8k/demo8172W/i8172W_FR_2054DIO.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/demo8172W/i8172W_FR_2054DIO.o
	
i8172W_FR_2053DI: ./i8k/demo8172W/i8172W_FR_2053DI.o
	$(CC) $(CFLAGS) -o ./i8k/demo8172W/$@ ./i8k/demo8172W/i8172W_FR_2053DI.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/demo8172W/i8172W_FR_2053DI.o	

i8172W_FR_2057DO: ./i8k/demo8172W/i8172W_FR_2057DO.o
	$(CC) $(CFLAGS) -o ./i8k/demo8172W/$@ ./i8k/demo8172W/i8172W_FR_2057DO.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/demo8172W/i8172W_FR_2057DO.o	

i8172W_ReadAI: ./i8k/demo8172W/i8172W_ReadAI.o
	$(CC) $(CFLAGS) -o ./i8k/demo8172W/$@ ./i8k/demo8172W/i8172W_ReadAI.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/demo8172W/i8172W_ReadAI.o		
	

demo8080: ./i8k/demo8080.o
	$(CC) $(CFLAGS) -o ./i8k/$@ ./i8k/demo8080.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/demo8080.o	

demo8050W: ./i8k/demo8050W.o
	$(CC) $(CFLAGS) -o ./i8k/$@ ./i8k/demo8050W.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/demo8050W.o	

avg-freq: ./i8k/demo8084W/avg-freq.o
	$(CC) $(CFLAGS) -o ./i8k/demo8084W/$@ ./i8k/demo8084W/avg-freq.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/demo8084W/avg-freq.o	

abphase: ./i8k/demo8084W/abphase.o
	$(CC) $(CFLAGS) -o ./i8k/demo8084W/$@ ./i8k/demo8084W/abphase.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/demo8084W/abphase.o	

freq: ./i8k/demo8084W/freq.o
	$(CC) $(CFLAGS) -o ./i8k/demo8084W/$@ ./i8k/demo8084W/freq.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/demo8084W/freq.o	

pulse-dir: ./i8k/demo8084W/pulse-dir.o
	$(CC) $(CFLAGS) -o ./i8k/demo8084W/$@ ./i8k/demo8084W/pulse-dir.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/demo8084W/pulse-dir.o	

up: ./i8k/demo8084W/up.o
	$(CC) $(CFLAGS) -o ./i8k/demo8084W/$@ ./i8k/demo8084W/up.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/demo8084W/up.o	

up-down: ./i8k/demo8084W/up-down.o
	$(CC) $(CFLAGS) -o ./i8k/demo8084W/$@ ./i8k/demo8084W/up-down.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/demo8084W/up-down.o	

8048W_getdi: ./i8k/demo8048W/8048W_getdi.o
	$(CC) $(CFLAGS) -o ./i8k/demo8048W/$@ ./i8k/demo8048W/8048W_getdi.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/demo8048W/8048W_getdi.o
	
8048W_Int: ./i8k/demo8048W/8048W_Int.o
	$(CC) $(CFLAGS) -o ./i8k/demo8048W/$@ ./i8k/demo8048W/8048W_Int.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/demo8048W/8048W_Int.o

demo8014W: ./i8k/demo8014W/demo8014W.o
	$(CC) $(CFLAGS) -o ./i8k/demo8014W/$@ ./i8k/demo8014W/demo8014W.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/demo8014W/demo8014W.o			
	
8014W_magic: ./i8k/demo8014W/8014w_magic.o
	$(CC) $(CFLAGS) -o ./i8k/demo8014W/$@ ./i8k/demo8014W/8014W_magic.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/demo8014W/8014W_magic.o			
	
8014W_magic_isr: ./i8k/demo8014W/8014W_magic_isr.o
	$(CC) $(CFLAGS) -o ./i8k/demo8014W/$@ ./i8k/demo8014W/8014W_magic_isr.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/demo8014W/8014W_magic_isr.o			
	  	
8014W_magic_NoBlk: ./i8k/demo8014W/8014W_magic_NoBlk.o
	$(CC) $(CFLAGS) -o ./i8k/demo8014W/$@ ./i8k/demo8014W/8014W_magic_NoBlk.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/demo8014W/8014W_magic_NoBlk.o			
	
8014W_magic_Blk: ./i8k/demo8014W/8014W_magic_Blk.o
	$(CC) $(CFLAGS) -o ./i8k/demo8014W/$@ ./i8k/demo8014W/8014W_magic_Blk.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/demo8014W/8014W_magic_Blk.o			

demo8088W: ./i8k/demo8088W.o
	$(CC) $(CFLAGS) -o ./i8k/$@ ./i8k/demo8088W.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/demo8088W.o		
  	  	  	
i87120: ./i87k/i87120.o
	$(CC) $(CFLAGS) -o ./i87k/$@ ./i87k/i87120.o $(LIBS) $(LDFLAGS)
	rm -f ./i87k/i87120.o

power_on_value_8024UW_8028UW: ./i8k/demo8024UW_8028UW/power_on_value_8024UW_8028UW.o
	$(CC) $(CFLAGS) -o ./i8k/demo8024UW_8028UW/$@ ./i8k/demo8024UW_8028UW/power_on_value_8024UW_8028UW.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/demo8024UW_8028UW/power_on_value_8024UW_8028UW.o

safe_value_8024UW_8028UW: ./i8k/demo8024UW_8028UW/safe_value_8024UW_8028UW.o
	$(CC) $(CFLAGS) -o ./i8k/demo8024UW_8028UW/$@ ./i8k/demo8024UW_8028UW/safe_value_8024UW_8028UW.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/demo8024UW_8028UW/safe_value_8024UW_8028UW.o

setao_8024UW_8028UW: ./i8k/demo8024UW_8028UW/setao_8024UW_8028UW.o
	$(CC) $(CFLAGS) -o ./i8k/demo8024UW_8028UW/$@ ./i8k/demo8024UW_8028UW/setao_8024UW_8028UW.o $(LIBS) $(LDFLAGS)
	rm -f ./i8k/demo8024UW_8028UW/setao_8024UW_8028UW.o

demoi87084: ./i87k/demoi87084.o
	$(CC) $(CFLAGS) -o ./i87k/$@ ./i87k/demoi87084.o $(LIBS) $(LDFLAGS)
	rm -f ./i87k/demoi87084.o
	
demoi87120: ./i87k/demoi87120.o
	$(CC) $(CFLAGS) -o ./i87k/$@ ./i87k/demoi87120.o $(LIBS) $(LDFLAGS)
	rm -f ./i87k/demoi87120.o

demoi87123: ./i87k/demoi87123.o
	$(CC) $(CFLAGS) -o ./i87k/$@ ./i87k/demoi87123.o $(LIBS) $(LDFLAGS) -lpthread
	rm -f ./i87k/demoi87123.o

getai_i9017: ./i9k/demo_i9017/getai_i9017.o
	$(CC) $(CFLAGS) -o ./i9k/demo_i9017/$@ ./i9k/demo_i9017/getai_i9017.o $(LIBS) $(LDFLAGS)
	rm -f ./i9k/demo_i9017/getai_i9017.o

setao_i9024: ./i9k/demo_i9024/setao_i9024.o
	$(CC) $(CFLAGS) -o ./i9k/demo_i9024/$@ ./i9k/demo_i9024/setao_i9024.o $(LIBS) $(LDFLAGS)
	rm -f ./i9k/demo_i9024/setao_i9024.o

9014_magic_Blk: ./i9k/demo_i9014/9014_magic_Blk.o
	$(CC) $(CFLAGS) -o ./i9k/demo_i9014/$@ ./i9k/demo_i9014/9014_magic_Blk.o $(LIBS) $(LDFLAGS)
	rm -f ./i9k/demo_i9014/9014_magic_Blk.o

9014_magic_isr: ./i9k/demo_i9014/9014_magic_isr.o
	$(CC) $(CFLAGS) -o ./i9k/demo_i9014/$@ ./i9k/demo_i9014/9014_magic_isr.o $(LIBS) $(LDFLAGS)
	rm -f ./i9k/demo_i9014/9014_magic_isr.o

9014_magic_NoBlk: ./i9k/demo_i9014/9014_magic_NoBlk.o
	$(CC) $(CFLAGS) -o ./i9k/demo_i9014/$@ ./i9k/demo_i9014/9014_magic_NoBlk.o $(LIBS) $(LDFLAGS)
	rm -f ./i9k/demo_i9014/9014_magic_NoBlk.o

demo9014: ./i9k/demo_i9014/demo9014.o
	$(CC) $(CFLAGS) -o ./i9k/demo_i9014/$@ ./i9k/demo_i9014/demo9014.o $(LIBS) $(LDFLAGS)
	rm -f ./i9k/demo_i9014/demo9014.o

power_on_value_9024U_9028U: ./i9k/demo_i9024U_9028U/power_on_value_9024U_9028U.o
	$(CC) $(CFLAGS) -o ./i9k/demo_i9024U_9028U/$@ ./i9k/demo_i9024U_9028U/power_on_value_9024U_9028U.o $(LIBS) $(LDFLAGS)
	rm -f ./i9k/demo_i9024U_9028U/power_on_value_9024U_9028U.o

safe_value_9024U_9028U: ./i9k/demo_i9024U_9028U/safe_value_9024U_9028U.o
	$(CC) $(CFLAGS) -o ./i9k/demo_i9024U_9028U/$@ ./i9k/demo_i9024U_9028U/safe_value_9024U_9028U.o $(LIBS) $(LDFLAGS)
	rm -f ./i9k/demo_i9024U_9028U/safe_value_9024U_9028U.o

setao_9024U_9028U: ./i9k/demo_i9024U_9028U/setao_9024U_9028U.o
	$(CC) $(CFLAGS) -o ./i9k/demo_i9024U_9028U/$@ ./i9k/demo_i9024U_9028U/setao_9024U_9028U.o $(LIBS) $(LDFLAGS)
	rm -f ./i9k/demo_i9024U_9028U/setao_9024U_9028U.o

read_encoder_9093: ./i9k/demo_i9093/read_encoder_9093.o
	$(CC) $(CFLAGS) -o ./i9k/demo_i9093/$@ ./i9k/demo_i9093/read_encoder_9093.o $(LIBS) $(LDFLAGS)
	rm -f ./i9k/demo_i9093/read_encoder_9093.o

i9053_lpf: ./i9k/demo_i9053/i9053_lpf.o
	$(CC) $(CFLAGS) -o ./i9k/demo_i9053/$@ ./i9k/demo_i9053/i9053_lpf.o $(LIBS) $(LDFLAGS)
	rm -f ./i9k/demo_i9053/i9053_lpf.o

i97kaio: ./i97k/i97kaio.o
	$(CC) $(CFLAGS) -o ./i97k/$@ ./i97k/i97kaio.o $(LIBS) $(LDFLAGS)
	rm -f ./i97k/i97kaio.o		

getmodbus: ./modbus/getmodbus.o
	$(CC) $(CFLAGS) -o ./modbus/$@ ./modbus/getmodbus.o $(LIBS) $(LDFLAGS)
	rm -f ./modbus/getmodbus.o		

getxvai: ./modbus/getxvai.o
	$(CC) $(CFLAGS) -o ./modbus/$@ ./modbus/getxvai.o $(LIBS) $(LDFLAGS)
	rm -f ./modbus/getxvai.o	
	
getxvao: ./modbus/getxvao.o
	$(CC) $(CFLAGS) -o ./modbus/$@ ./modbus/getxvao.o $(LIBS) $(LDFLAGS)
	rm -f ./modbus/getxvao.o	
	
getxvdi: ./modbus/getxvdi.o
	$(CC) $(CFLAGS) -o ./modbus/$@ ./modbus/getxvdi.o $(LIBS) $(LDFLAGS)
	rm -f ./modbus/getxvdi.o		
	
getxvdo: ./modbus/getxvdo.o
	$(CC) $(CFLAGS) -o ./modbus/$@ ./modbus/getxvdo.o $(LIBS) $(LDFLAGS)
	rm -f ./modbus/getxvdo.o		
	
setmodbus: ./modbus/setmodbus.o
	$(CC) $(CFLAGS) -o ./modbus/$@ ./modbus/setmodbus.o $(LIBS) $(LDFLAGS)
	rm -f ./modbus/setmodbus.o		
	
setxvao: ./modbus/setxvao.o
	$(CC) $(CFLAGS) -o ./modbus/$@ ./modbus/setxvao.o $(LIBS) $(LDFLAGS)
	rm -f ./modbus/setxvao.o		
	
setxvdo: ./modbus/setxvdo.o
	$(CC) $(CFLAGS) -o ./modbus/$@ ./modbus/setxvdo.o $(LIBS) $(LDFLAGS)
	rm -f ./modbus/setxvdo.o		

demo1: ./gui/demo1.c
	$(CC) $(CFLAGS) $(GTKCFLAGS) -o ./gui/$@ ./gui/demo1.c $(LIBS) $(LDFLAGS)
	rm -f ./gui/demo1.o

demo2: ./gui/demo2.c
	$(CC) $(CFLAGS) $(GTKCFLAGS) -o ./gui/$@ ./gui/demo2.c $(LIBS) $(LDFLAGS)
	rm -f ./gui/demo2.o
	
hello_gtk: ./gui/hello_gtk.c
	$(CC) $(CFLAGS) $(GTKCFLAGS) -o ./gui/$@ ./gui/hello_gtk.c $(LIBS) $(LDFLAGS)
	rm -f ./gui/hello_gtk.o	
	
helloworld_gtk: ./gui/helloworld_gtk.c
	$(CC) $(CFLAGS) $(GTKCFLAGS) -o ./gui/$@ ./gui/helloworld_gtk.c $(LIBS) $(LDFLAGS)
	rm -f ./gui/helloworld_gtk.o	
	
indent:
	indent -kr -ts4 *.c

clean:
	rm -f ./common/*.o $(PJ) ./common/*~ ./common/*.tmp ./common*.bak \#* .\#*
	rm -f ./i8k/*.o $(PJ) ./i8k/*~ ./i8k/*.tmp ./i8k/*.bak \#* .\#*
	rm -f ./i8k/demo8084W/*.o $(PJ) ./i8k/demo8084W/*~ ./i8k/demo8084W/*.tmp ./i8k/demo8084W/*.bak \#* .\#*
	rm -f ./i87k/*.o $(PJ) ./i87k/*~ ./i87k/*.tmp ./i87k/*.bak \#* .\#*
	rm -f ./i7k/*.o $(PJ) ./i7k/*~ ./i7k/*.tmp ./i7k/*.bak \#* .\#*
	rm -f ./modbus/*.o $(PJ) ./modbus/*~ ./modbus/*.tmp ./modbus/*.bak \#* .\#*

