TARGET=gui_test 01_gui_label 02_gui_button 03_gui_list 04_gui_checkbox 05_gui_radiobutton 06_gui_textinput 07_gui_dialog 08_gui_example
SRCS=gui_test.c SDL_gui.c SDL_gui.h 01_gui_label.c 02_gui_button.c 03_gui_list.c 04_gui_checkbox.c 05_gui_radiobutton.c 06_gui_textinput.c 07_gui_dialog.c 08_gui_example.c
OBJS=gui_test.o SDL_gui.o 01_gui_label.o 02_gui_button.o 03_gui_list.o 04_gui_checkbox.o 05_gui_radiobutton.o 06_gui_textinput.o 07_gui_dialog.o 08_gui_example.o
DOCUMENTS=readme.txt tutorial.txt
PICTURES=Bomb1.bmp Bomb2.bmp Bomb3.bmp
CFLAGS=-O3 -DDEBUG `pkg-config sdl2 --cflags`
CXXFLAGS=-O3 
SDL2LIBS=-lSDL2_ttf `pkg-config sdl2 --libs`
LDFLAGS=$(SDL2LIBS)
CC=gcc
INSTALLDIR=/home/pi/bin
INSTALL=install -s

all: $(TARGET)

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

.cc.o:
	$(CXX) $(CXXFLAGS) -c $<

$@: $@.o
	$(CC) -o $@ $@.o $(LDFLAGS)

gui_test.o: gui_test.c SDL_gui.h
	$(CC) $(CFLAGS) -c $<

01_gui_label.o: 01_gui_label.c SDL_gui.h
	$(CC) $(CFLAGS) -c $<

02_gui_button.o: 02_gui_button.c SDL_gui.h
	$(CC) $(CFLAGS) -c $<

03_gui_list.o: 03_gui_list.c SDL_gui.h
	$(CC) $(CFLAGS) -c $<

04_gui_checkbox.o: 04_gui_checkbox.c SDL_gui.h
	$(CC) $(CFLAGS) -c $<

05_gui_radiobutton.o: 05_gui_radiobutton.c SDL_gui.h
	$(CC) $(CFLAGS) -c $<

06_gui_textinput.o: 06_gui_textinput.c SDL_gui.h
	$(CC) $(CFLAGS) -c $<

07_gui_dialog.o: 07_gui_dialog.c SDL_gui.h
	$(CC) $(CFLAGS) -c $<

08_gui_example.o: 08_gui_example.c SDL_gui.h
	$(CC) $(CFLAGS) -c $<

SDL_gui.o: SDL_gui.c SDL_gui.h
	$(CC) $(CFLAGS) -c $<

gui_test: gui_test.o SDL_gui.o
	$(CC) -o $@ gui_test.o SDL_gui.o $(SDL2LIBS)

01_gui_label: 01_gui_label.o SDL_gui.o
	$(CC) -o $@ 01_gui_label.o SDL_gui.o $(SDL2LIBS)

02_gui_button: 02_gui_button.o SDL_gui.o
	$(CC) -o $@ 02_gui_button.o SDL_gui.o $(SDL2LIBS)

03_gui_list: 03_gui_list.o SDL_gui.o
	$(CC) -o $@ 03_gui_list.o SDL_gui.o $(SDL2LIBS)

04_gui_checkbox: 04_gui_checkbox.o SDL_gui.o
	$(CC) -o $@ 04_gui_checkbox.o SDL_gui.o $(SDL2LIBS)

05_gui_radiobutton: 05_gui_radiobutton.o SDL_gui.o
	$(CC) -o $@ 05_gui_radiobutton.o SDL_gui.o $(SDL2LIBS)

06_gui_textinput: 06_gui_textinput.o SDL_gui.o
	$(CC) -o $@ 06_gui_textinput.o SDL_gui.o $(SDL2LIBS)

07_gui_dialog: 07_gui_dialog.o SDL_gui.o
	$(CC) -o $@ 07_gui_dialog.o SDL_gui.o $(SDL2LIBS)

08_gui_example: 08_gui_example.o SDL_gui.o
	$(CC) -o $@ 08_gui_example.o SDL_gui.o $(SDL2LIBS)

clean:
	rm -f $(OBJS) $(TARGET)

tar: SDL_gui.tar.gz

SDL_gui.tar.gz: Makefile $(DOCUMENTS) $(PICTURES) $(SRCS) 
	tar cvfz $@ Makefile $(DOCUMENTS) $(PICTURES) $(SRCS)
