# Makefile for vgagames examples.
# All examples for graphic libraries other than X window
#   must be compiled as user root because of the setuser chmod (4xxx).
# All examples for X window
#   can be compiled as normal user.

CC = gcc
CFLAGS = -Wall -O2


all: clean exp_cons exp_win

clean:
	rm -f *.o *-cons *-x


# *** different graphic libraries ***

exp_cons: general_exp-cons init_exp-cons graphic_window_exp-cons \
	graphic_box_exp-cons graphic_color_exp-cons \
	graphic_manipulating_exp-cons key_mouse_exp-cons sound_exp-cons \
	network_exp-cons film_exp-cons \
	look_graphic-cons look_sprite-cons

exp_win: general_exp-x init_exp-x graphic_window_exp-x \
	graphic_box_exp-x graphic_color_exp-x \
	graphic_manipulating_exp-x key_mouse_exp-x sound_exp-x \
	network_exp-x film_exp-x \
	look_graphic-x look_sprite-x


# *** for console graphic libraries ***

general_exp-cons: general_exp.c
	if vgag-config.sh -cons; then \
	  $(CC) $(CFLAGS) `vgag-config.sh -cons general_exp.c` -o general_exp-cons; \
	  chmod 4755 general_exp-cons; \
	fi

init_exp-cons: init_exp.c
	if vgag-config.sh -cons; then \
	  $(CC) $(CFLAGS) `vgag-config.sh -cons init_exp.c` -o init_exp-cons; \
	  chmod 4755 init_exp-cons; \
	fi

graphic_window_exp-cons: graphic_window_exp.c
	if vgag-config.sh -cons; then \
	  $(CC) $(CFLAGS) `vgag-config.sh -cons graphic_window_exp.c` -o graphic_window_exp-cons; \
	  chmod 4755 graphic_window_exp-cons; \
	fi

graphic_box_exp-cons: graphic_box_exp.c
	if vgag-config.sh -cons; then \
	  $(CC) $(CFLAGS) `vgag-config.sh -cons graphic_box_exp.c` -o graphic_box_exp-cons; \
	  chmod 4755 graphic_box_exp-cons; \
	fi

graphic_color_exp-cons: graphic_color_exp.c
	if vgag-config.sh -cons; then \
	  $(CC) $(CFLAGS) `vgag-config.sh -cons graphic_color_exp.c` -o graphic_color_exp-cons; \
	  chmod 4755 graphic_color_exp-cons; \
	fi

graphic_manipulating_exp-cons: graphic_manipulating_exp.c
	if vgag-config.sh -cons; then \
	  $(CC) $(CFLAGS) `vgag-config.sh -cons graphic_manipulating_exp.c` -o graphic_manipulating_exp-cons; \
	  chmod 4755 graphic_manipulating_exp-cons; \
	fi

key_mouse_exp-cons: key_mouse_exp.c
	if vgag-config.sh -cons; then \
	  $(CC) $(CFLAGS) `vgag-config.sh -cons key_mouse_exp.c` -o key_mouse_exp-cons; \
	  chmod 4755 key_mouse_exp-cons; \
	fi

sound_exp-cons: sound_exp.c
	if vgag-config.sh -cons; then \
	  $(CC) $(CFLAGS) `vgag-config.sh -cons sound_exp.c` -o sound_exp-cons; \
	  chmod 4755 sound_exp-cons; \
	fi

network_exp-cons: network_exp.c
	if vgag-config.sh -cons; then \
	  $(CC) $(CFLAGS) `vgag-config.sh -cons network_exp.c` -o network_exp-cons; \
	  chmod 4755 network_exp-cons; \
	fi

film_exp-cons: film_exp.c
	if vgag-config.sh -cons; then \
	  $(CC) $(CFLAGS) `vgag-config.sh -cons film_exp.c` -o film_exp-cons; \
	  chmod 4755 film_exp-cons; \
	fi

look_graphic-cons: look_graphic.c
	if vgag-config.sh -cons; then \
	  $(CC) $(CFLAGS) `vgag-config.sh -cons look_graphic.c` -o look_graphic-cons; \
	  chmod 4755 look_graphic-cons; \
	fi

look_sprite-cons: look_sprite.c
	if vgag-config.sh -cons; then \
	  $(CC) $(CFLAGS) `vgag-config.sh -cons look_sprite.c` -o look_sprite-cons; \
	  chmod 4755 look_sprite-cons; \
	fi


# *** for X window ***

general_exp-x: general_exp.c
	if vgag-config.sh -x; then \
	  $(CC) $(CFLAGS) `vgag-config.sh -x general_exp.c` -o general_exp-x; \
	fi

init_exp-x: init_exp.c
	if vgag-config.sh -x; then \
	  $(CC) $(CFLAGS) `vgag-config.sh -x init_exp.c` -o init_exp-x; \
	fi

graphic_window_exp-x: graphic_window_exp.c
	if vgag-config.sh -x; then \
	  $(CC) $(CFLAGS) `vgag-config.sh -x graphic_window_exp.c` -o graphic_window_exp-x; \
	fi

graphic_box_exp-x: graphic_box_exp.c
	if vgag-config.sh -x; then \
	  $(CC) $(CFLAGS) `vgag-config.sh -x graphic_box_exp.c` -o graphic_box_exp-x; \
	fi

graphic_color_exp-x: graphic_color_exp.c
	if vgag-config.sh -x; then \
	  $(CC) $(CFLAGS) `vgag-config.sh -x graphic_color_exp.c` -o graphic_color_exp-x; \
	fi

graphic_manipulating_exp-x: graphic_manipulating_exp.c
	if vgag-config.sh -x; then \
	  $(CC) $(CFLAGS) `vgag-config.sh -x graphic_manipulating_exp.c` -o graphic_manipulating_exp-x; \
	fi

key_mouse_exp-x: key_mouse_exp.c
	if vgag-config.sh -x; then \
	  $(CC) $(CFLAGS) `vgag-config.sh -x key_mouse_exp.c` -o key_mouse_exp-x; \
	fi

sound_exp-x: sound_exp.c
	if vgag-config.sh -x; then \
	  $(CC) $(CFLAGS) `vgag-config.sh -x sound_exp.c` -o sound_exp-x; \
	fi

network_exp-x: network_exp.c
	if vgag-config.sh -x; then \
	  $(CC) $(CFLAGS) `vgag-config.sh -x network_exp.c` -o network_exp-x; \
	fi

film_exp-x: film_exp.c
	if vgag-config.sh -x; then \
	  $(CC) $(CFLAGS) `vgag-config.sh -x film_exp.c` -o film_exp-x; \
	fi

look_graphic-x: look_graphic.c
	if vgag-config.sh -x; then \
	  $(CC) $(CFLAGS) `vgag-config.sh -x look_graphic.c` -o look_graphic-x; \
	fi

look_sprite-x: look_sprite.c
	if vgag-config.sh -x; then \
	  $(CC) $(CFLAGS) `vgag-config.sh -x look_sprite.c` -o look_sprite-x; \
	fi

