#
#    Make file for X Breakout 
#
#
CC= cc -g -DX11 -I/usr/include
#
UILSRC = /usr/include/uil 
UIL = /usr/bin/X1/uil
OBJ = obj
#
LIBS = -L/usr/lib -lX11 -lXm -lXt -lMrm
#
all:	breakout_final

clean:
	rm -f $(OBJ)/*.o
	rm -f breakout
	rm -f core

breakout_final:	breakout breakout.uid

breakout:	$(OBJ)/breakout.o $(OBJ)/init_breakout.o \
		$(OBJ)/move_paddle.o \
		$(OBJ)/cb_create.o $(OBJ)/cb_about.o $(OBJ)/cb_exit.o \
		$(OBJ)/cb_pause.o $(OBJ)/cb_sound.o $(OBJ)/cb_input.o \
		$(OBJ)/cb_help.o $(OBJ)/cb_new.o $(OBJ)/cb_redraw.o \
		$(OBJ)/retrieve_widget_id.o $(OBJ)/save_widget_info.o \
		$(OBJ)/popup_dialog.o $(OBJ)/update_display.o \
		$(OBJ)/set_gc_color.o $(OBJ)/add_a_color.o \
		$(OBJ)/store_color.o $(OBJ)/file_load_level.o \
		$(OBJ)/add_node_to_dll.o $(OBJ)/remove_node_from_dll.o \
		$(OBJ)/init_headnode.o
#
		$(CC) -o $(OBJ)/breakout $(OBJ)/breakout.o \
		$(OBJ)/init_breakout.o \
		$(OBJ)/move_paddle.o $(OBJ)/file_load_level.o \
		$(OBJ)/cb_create.o $(OBJ)/cb_about.o $(OBJ)/cb_exit.o \
		$(OBJ)/cb_help.o $(OBJ)/cb_new.o $(OBJ)/cb_redraw.o \
		$(OBJ)/cb_pause.o $(OBJ)/cb_input.o $(OBJ)/cb_sound.o \
		$(OBJ)/retrieve_widget_id.o $(OBJ)/save_widget_info.o \
		$(OBJ)/popup_dialog.o $(OBJ)/update_display.o \
		$(OBJ)/set_gc_color.o $(OBJ)/add_a_color.o \
		$(OBJ)/store_color.o \
		$(OBJ)/add_node_to_dll.o $(OBJ)/remove_node_from_dll.o \
		$(OBJ)/init_headnode.o \
		$(LIBS)

$(OBJ)/breakout.o:	breakout.c breakout.h breakout.var motif.h motif.var
	$(CC) -o $(OBJ)/breakout.o -c breakout.c

$(OBJ)/move_paddle.o:	move_paddle.c breakout.h breakout.var motif.h motif.var
	$(CC) -o $(OBJ)/move_paddle.o -c move_paddle.c

$(OBJ)/file_load_level.o:	file_load_level.c breakout.h breakout.var \
	motif.h motif.var
	$(CC) -o $(OBJ)/file_load_level.o -c file_load_level.c

$(OBJ)/add_a_color.o:	add_a_color.c breakout.h breakout.var motif.h motif.var
	$(CC) -o $(OBJ)/add_a_color.o -c add_a_color.c

$(OBJ)/store_color.o:	store_color.c breakout.h breakout.var motif.h motif.var
	$(CC) -o $(OBJ)/store_color.o -c store_color.c

$(OBJ)/init_breakout.o:	init_breakout.c breakout.h breakout.var motif.h motif.var
	$(CC) -o $(OBJ)/init_breakout.o -c init_breakout.c

$(OBJ)/update_display.o:	update_display.c breakout.h breakout.var \
				motif.h motif.var
	$(CC) -o $(OBJ)/update_display.o -c update_display.c

$(OBJ)/cb_about.o:	cb_about.c breakout.h breakout.ext motif.h motif.ext
	$(CC) -o $(OBJ)/cb_about.o -c cb_about.c

$(OBJ)/cb_create.o:	cb_create.c motif.h motif.ext
	$(CC) -o $(OBJ)/cb_create.o -c cb_create.c

$(OBJ)/cb_exit.o:	cb_exit.c breakout.h breakout.ext motif.h motif.ext
	$(CC) -o $(OBJ)/cb_exit.o -c cb_exit.c

$(OBJ)/cb_help.o:	cb_help.c breakout.h breakout.ext motif.h motif.ext
	$(CC) -o $(OBJ)/cb_help.o -c cb_help.c

$(OBJ)/cb_input.o:	cb_input.c breakout.h breakout.ext motif.h motif.ext
	$(CC) -o $(OBJ)/cb_input.o -c cb_input.c

$(OBJ)/cb_new.o:	cb_new.c breakout.h breakout.ext motif.h motif.ext
	$(CC) -o $(OBJ)/cb_new.o -c cb_new.c

$(OBJ)/cb_pause.o:	cb_pause.c breakout.h breakout.ext motif.h motif.ext
	$(CC) -o $(OBJ)/cb_pause.o -c cb_pause.c

$(OBJ)/cb_sound.o:	cb_sound.c breakout.h breakout.ext motif.h motif.ext
	$(CC) -o $(OBJ)/cb_sound.o -c cb_sound.c

$(OBJ)/cb_redraw.o:	cb_redraw.c breakout.h breakout.ext motif.h motif.ext
	$(CC) -o $(OBJ)/cb_redraw.o -c cb_redraw.c

$(OBJ)/popup_dialog.o:	popup_dialog.c motif.h motif.ext
	$(CC) -o $(OBJ)/popup_dialog.o -c popup_dialog.c

$(OBJ)/retrieve_widget_id.o:	retrieve_widget_id.c motif.h motif.ext
	$(CC) -o $(OBJ)/retrieve_widget_id.o -c retrieve_widget_id.c

$(OBJ)/save_widget_info.o:	save_widget_info.c motif.h motif.ext
	$(CC) -o $(OBJ)/save_widget_info.o -c save_widget_info.c

$(OBJ)/set_gc_color.o:	set_gc_color.c
	$(CC) -o $(OBJ)/set_gc_color.o -c set_gc_color.c

$(OBJ)/add_node_to_dll.o:	add_node_to_dll.c dll.h
	$(CC) -o $(OBJ)/add_node_to_dll.o -c add_node_to_dll.c

$(OBJ)/remove_node_from_dll.o:	remove_node_from_dll.c dll.h
	$(CC) -o $(OBJ)/remove_node_from_dll.o -c remove_node_from_dll.c

$(OBJ)/init_headnode.o:	init_headnode.c dll.h
	$(CC) -o $(OBJ)/init_headnode.o -c init_headnode.c

breakout.uid:	breakout.uil
	uil -o breakout.uid breakout.uil -I$(UILSRC)
