CC=gcc

CFLAGS=-pedantic -Wall -O2 -DX10_LINUX_BUILD

X10INC=-I../include
X10LIB=../lib/libxlinecapi.so -lpthread ../lib/unlockioc.o obj/linuxkb.o obj/xlineauthenticate.o obj/xlinecexit.o


all : clean binaries


binaries : make_bins


clean : FORCE
	rm -f obj/cctalkdemo.o
	rm -f obj/eepromdemo.o
	rm -f obj/fadedemo.o
	rm -f obj/inpmuxdemo.o
	rm -f obj/iodemo.o
	rm -f obj/paralleldemo.o
	rm -f obj/randomdemo.o
	rm -f obj/reels.o
	rm -f obj/sasdemo.o
	rm -f obj/serialdemo.o
	rm -f obj/spidemo.o
	rm -f obj/sramdemo.o
	rm -f obj/timedemo.o
	rm -f obj/linuxkb.o
	rm -f obj/xlinecexit.o
	rm -f obj/xlineauthenticate.o
	rm -f cctalkdemo
	rm -f eepromdemo
	rm -f fadedemo
	rm -f inpmuxdemo
	rm -f iodemo
	rm -f paralleldemo
	rm -f randomdemo
	rm -f reels
	rm -f sasdemo
	rm -f serialdemo
	rm -f spidemo
	rm -f sramdemo
	rm -f timedemo


make_bins : make_objs
	$(CC) $(CFLAGS_COMMON) $(X10LIB) obj/cctalkdemo.o   -o cctalkdemo
	$(CC) $(CFLAGS_COMMON) $(X10LIB) obj/eepromdemo.o   -o eepromdemo
	$(CC) $(CFLAGS_COMMON) $(X10LIB) obj/fadedemo.o     -o fadedemo
	$(CC) $(CFLAGS_COMMON) $(X10LIB) obj/inpmuxdemo.o   -o inpmuxdemo
	$(CC) $(CFLAGS_COMMON) $(X10LIB) obj/iodemo.o       -o iodemo
	$(CC) $(CFLAGS_COMMON) $(X10LIB) obj/paralleldemo.o -o paralleldemo
	$(CC) $(CFLAGS_COMMON) $(X10LIB) obj/randomdemo.o   -o randomdemo
	$(CC) $(CFLAGS_COMMON) $(X10LIB) obj/reels.o        -o reels
	$(CC) $(CFLAGS_COMMON) $(X10LIB) obj/sasdemo.o      -o sasdemo
	$(CC) $(CFLAGS_COMMON) $(X10LIB) obj/serialdemo.o   -o serialdemo
	$(CC) $(CFLAGS_COMMON) $(X10LIB) obj/spidemo.o      -o spidemo
	$(CC) $(CFLAGS_COMMON) $(X10LIB) obj/sramdemo.o     -o sramdemo
	$(CC) $(CFLAGS_COMMON) $(X10LIB) obj/timedemo.o     -o timedemo


make_objs : FORCE
	$(CC) $(CFLAGS) $(X10INC) -c cctalkdemo.cpp         -o obj/cctalkdemo.o
	$(CC) $(CFLAGS) $(X10INC) -c eepromdemo.cpp         -o obj/eepromdemo.o
	$(CC) $(CFLAGS) $(X10INC) -c fadedemo.cpp           -o obj/fadedemo.o
	$(CC) $(CFLAGS) $(X10INC) -c inpmuxdemo.cpp         -o obj/inpmuxdemo.o
	$(CC) $(CFLAGS) $(X10INC) -c iodemo.cpp             -o obj/iodemo.o
	$(CC) $(CFLAGS) $(X10INC) -c paralleldemo.cpp       -o obj/paralleldemo.o
	$(CC) $(CFLAGS) $(X10INC) -c randomdemo.cpp         -o obj/randomdemo.o
	$(CC) $(CFLAGS) $(X10INC) -c reels.cpp              -o obj/reels.o
	$(CC) $(CFLAGS) $(X10INC) -c sasdemo.cpp            -o obj/sasdemo.o
	$(CC) $(CFLAGS) $(X10INC) -c serialdemo.cpp         -o obj/serialdemo.o
	$(CC) $(CFLAGS) $(X10INC) -c spidemo.cpp            -o obj/spidemo.o
	$(CC) $(CFLAGS) $(X10INC) -c sramdemo.cpp           -o obj/sramdemo.o
	$(CC) $(CFLAGS) $(X10INC) -c timedemo.cpp           -o obj/timedemo.o
	$(CC) $(CFLAGS) $(X10INC) -c linuxkb.cpp            -o obj/linuxkb.o
	$(CC) $(CFLAGS) $(X10INC) -c xlineauthenticate.cpp  -o obj/xlineauthenticate.o
	$(CC) $(CFLAGS) $(X10INC) -c xlinecexit.cpp         -o obj/xlinecexit.o

	
FORCE:

