#
CC = gcc
LD = $(CC)

LDFLAGS = `gtk-config --libs gthread` -ljpeg -lpthread -lpng

PROG = gqcam
VERSION = 0.9.1

CFLAGS = `gtk-config --cflags` -DVERSION=\"$(VERSION)\"
INCLUDES = 
OBJS = 

all: $(PROG)

clean:
	rm -f $(PROG) *.o *.core core *.bak *~

dist: gqcam.c gqcam.h frontend.c frontend.h color.c color.h greyscale.c \
      greyscale.h save.c save.h jpeg.h jpeg.c yuv_to_rgb.h yuv_to_rgb.c \
      CHANGES COPYING INSTALL Makefile README
	mkdir ../$(PROG)-$(VERSION)
	cp gqcam.c ../$(PROG)-$(VERSION)/
	cp gqcam.h ../$(PROG)-$(VERSION)/
	cp frontend.c ../$(PROG)-$(VERSION)/
	cp frontend.h ../$(PROG)-$(VERSION)/
	cp preferences.c ../$(PROG)-$(VERSION)/
	cp preferences.h ../$(PROG)-$(VERSION)/
	cp color.c ../$(PROG)-$(VERSION)/
	cp color.h ../$(PROG)-$(VERSION)/
	cp greyscale.c ../$(PROG)-$(VERSION)/
	cp greyscale.h ../$(PROG)-$(VERSION)/
	cp save.c ../$(PROG)-$(VERSION)/
	cp save.h ../$(PROG)-$(VERSION)/
	cp timer.c ../$(PROG)-$(VERSION)/
	cp timer.h ../$(PROG)-$(VERSION)/
	cp filters.c ../$(PROG)-$(VERSION)/
	cp filters.h ../$(PROG)-$(VERSION)/
	cp jpeg.h ../$(PROG)-$(VERSION)/
	cp jpeg.c ../$(PROG)-$(VERSION)/
	cp yuv_to_rgb.h ../$(PROG)-$(VERSION)/
	cp yuv_to_rgb.c ../$(PROG)-$(VERSION)/
	cp CHANGES ../$(PROG)-$(VERSION)/
	cp TODO ../$(PROG)-$(VERSION)/
	cp COPYING ../$(PROG)-$(VERSION)/
	cp INSTALL ../$(PROG)-$(VERSION)/
	cp Makefile ../$(PROG)-$(VERSION)/
	cp README ../$(PROG)-$(VERSION)/
	cp README.threads ../$(PROG)-$(VERSION)/
	tar cvzf ../$(PROG)-$(VERSION).tar ../$(PROG)-$(VERSION)/

gqcam: gqcam.o frontend.o color.o greyscale.o save.o timer.o filters.o \
       preferences.o jpeg.o yuv_to_rgb.o
	$(LD) $(LDFLAGS) gqcam.o frontend.o save.o color.o greyscale.o \
	timer.o filters.o preferences.o jpeg.o yuv_to_rgb.o -o gqcam 

greyscale.o: greyscale.c gqcam.h frontend.h greyscale.h
	$(CC) $(CFLAGS) -c greyscale.c

color.o: color.c gqcam.h frontend.h color.h
	$(CC) $(CFLAGS) -c color.c

preferences.o: preferences.c preferences.h gqcam.h frontend.h save.h color.h \
               greyscale.h timer.h
	$(CC) $(CFLAGS) -c preferences.c

frontend.o: frontend.c frontend.h gqcam.h preferences.h save.h color.h \
            greyscale.h timer.h
	$(CC) $(CFLAGS) -c frontend.c

timer.o: timer.c timer.h gqcam.h save.h
	$(CC) $(CFLAGS) -c timer.c

save.o: save.c save.h gqcam.h frontend.h timer.h
	$(CC) $(CFLAGS) -c save.c

filters.o: filters.c filters.h gqcam.h
	$(CC) $(CFLAGS) -c filters.c

jpeg.o: jpeg.c jpeg.h
	$(CC) $(CFLAGS) -c jpeg.c

yuv_to_rgb.o: yuv_to_rgb.c yuv_to_rgb.h
	$(CC) $(CFLAGS) -c yuv_to_rgb.c
gqcam.o: gqcam.c gqcam.h
	$(CC) $(CFLAGS) -c gqcam.c
