##################################################################
#
# EZFB Linux Frame Buffer Device API Configuration
#
##################################################################

#CC = gcc -c -Wall -Os -I.
#LN = gcc -lm -o

CC = g++ -c -Wall -Os -I.
LN = g++ -lm -o
RM = rm -f

API_OBJECTS = ezfb_bmp.o ezfb_colors.o ezfb_device.o ezfb_fonts.o ezfb_pixels.o ezfb_tty.o ezfb_laser_palettes.o ilda.o


all    : laserboy demo jl grab show tell tsc multi lines black


laserboy : laserboy.o $(API_OBJECTS)
	$(LN)laserboy laserboy.o $(API_OBJECTS)

demo   : x_demo.o $(API_OBJECTS)
	$(LN)demo x_demo.o $(API_OBJECTS)

jl     : x_jl.o $(API_OBJECTS)
	$(LN)jl x_jl.o $(API_OBJECTS)

grab   : x_grab.o $(API_OBJECTS)
	$(LN)grab x_grab.o $(API_OBJECTS)

show   : x_show.o $(API_OBJECTS)
	$(LN)show x_show.o $(API_OBJECTS)

tell   : x_tell.o $(API_OBJECTS)
	$(LN)tell x_tell.o $(API_OBJECTS)

tsc    : x_tsc.o $(API_OBJECTS)
	$(LN)tsc x_tsc.o $(API_OBJECTS)

multi  : x_multi.o $(API_OBJECTS)
	$(LN)multi x_multi.o $(API_OBJECTS)

lines  : x_lines.o $(API_OBJECTS)
	$(LN)lines x_lines.o $(API_OBJECTS)

black  : x_black.o $(API_OBJECTS)
	$(LN)black x_black.o $(API_OBJECTS)





ezfb_laser_palettes.o : ezfb_laser_palettes.c ezfb.h ezfb_includes.h ezfb_macros.h ezfb_types.h
	$(CC) ezfb_laser_palettes.c

laserboy.o : laserboy.cpp ezfb.h ezfb_includes.h ezfb_macros.h ezfb_types.h ilda.hpp
	$(CC) laserboy.cpp

ilda.o        : ilda.cpp ilda.hpp ezfb_bmp.c ezfb_device.h ezfb_colors.h ezfb_pixels.h ezfb_bmp.h ezfb.h ezfb_includes.h ezfb_macros.h ezfb_types.h
	$(CC) ilda.cpp





x_demo.o      : x_demo.c   ezfb.h ezfb_includes.h ezfb_macros.h ezfb_types.h
	$(CC) x_demo.c

x_jl.o        : x_jl.c     ezfb.h ezfb_includes.h ezfb_macros.h ezfb_types.h
	$(CC) x_jl.c

x_grab.o      : x_grab.c   ezfb.h ezfb_includes.h ezfb_macros.h ezfb_types.h
	$(CC) x_grab.c

x_show.o      : x_show.c   ezfb.h ezfb_includes.h ezfb_macros.h ezfb_types.h
	$(CC) x_show.c

x_tell.o      : x_tell.c   ezfb.h ezfb_includes.h ezfb_macros.h ezfb_types.h
	$(CC) x_tell.c

x_tsc.o       : x_tsc.c    ezfb.h ezfb_includes.h ezfb_macros.h ezfb_types.h
	$(CC) x_tsc.c

x_multi.o     : x_multi.c  ezfb.h ezfb_includes.h ezfb_macros.h ezfb_types.h
	$(CC) x_multi.c

x_lines.o     : x_lines.c  ezfb.h ezfb_includes.h ezfb_macros.h ezfb_types.h
	$(CC) x_lines.c

x_black..o    : x_black.c  ezfb.h ezfb_includes.h ezfb_macros.h ezfb_types.h
	$(CC) x_black.c








ezfb_bmp.o      : ezfb_bmp.c ezfb_device.h ezfb_colors.h ezfb_pixels.h ezfb_bmp.h ezfb_includes.h ezfb_macros.h ezfb_types.h
	$(CC) ezfb_bmp.c

ezfb_colors.o   : ezfb_colors.c ezfb_device.h ezfb_colors.h ezfb_includes.h ezfb_macros.h ezfb_types.h
	$(CC) ezfb_colors.c

ezfb_device.o   : ezfb_device.c ezfb_tty.h ezfb_colors.h ezfb_device.h ezfb_includes.h ezfb_macros.h ezfb_types.h
	$(CC) ezfb_device.c

ezfb_fonts.o    : ezfb_fonts.c ezfb_pixels.h ezfb_fonts.h ezfb_includes.h ezfb_macros.h ezfb_types.h
	$(CC) ezfb_fonts.c

ezfb_pixels.o   : ezfb_pixels.c ezfb_colors.h ezfb_pixels.h ezfb_includes.h ezfb_macros.h ezfb_types.h
	$(CC) ezfb_pixels.c

ezfb_tty.o      : ezfb_tty.c ezfb_tty.h ezfb_includes.h ezfb_macros.h
	$(CC) ezfb_tty.c







.PHONY : clean
clean  : no_o
	$(RM) laserboy demo jl grab show tell tsc multi lines black


.PHONY : no_o
no_o   :
	$(RM) *.o

