# Comment/uncomment to enable/disable debugging code
# DEBUG	= 1

ifeq ($(DEBUG),1)
	DEBFLAGS = -g -O -DDEBUG 
else
	DEBFLAGS = -O2
endif

CFLAGS = -DLINUX $(DEBFLAGS) 
CFLAGS += -I../../../include
# need also thread support for interrupt handling
LFLAGS += -lpthread

TARGET = webcam
SRCS = ../webcam_lib.cpp ../cpia.cpp ../screen_lib.cpp ../../../src/windrvr_int_thread.c ../../../src/status_strings.c ../../../src/wdu_lib.c ../../../src/windrvr_events.c ../../../src/utils.c ../webcam.cpp

OD = ./
OBJS = $(addsuffix .o, $(addprefix $(OD)/, $(basename $(notdir $(SRCS)))))

$(TARGET) : $(OBJS)
	$(CC) $(LFLAGS) -o $@ $(OBJS) 

webcam_lib.o : ../webcam_lib.cpp
	$(CC) -c $(CFLAGS) -o $@ $< 

cpia.o : ../cpia.cpp
	$(CC) -c $(CFLAGS) -o $@ $< 

screen_lib.o : ../screen_lib.cpp
	$(CC) -c $(CFLAGS) -o $@ $< 

windrvr_int_thread.o : ../../../src/windrvr_int_thread.c
	$(CC) -c $(CFLAGS) -o $@ $< 

status_strings.o : ../../../src/status_strings.c
	$(CC) -c $(CFLAGS) -o $@ $< 

wdu_lib.o : ../../../src/wdu_lib.c
	$(CC) -c $(CFLAGS) -o $@ $< 

windrvr_events.o : ../../../src/windrvr_events.c
	$(CC) -c $(CFLAGS) -o $@ $< 

utils.o : ../../../src/utils.c
	$(CC) -c $(CFLAGS) -o $@ $< 

webcam.o : ../webcam.cpp
	$(CC) -c $(CFLAGS) -o $@ $< 


all : $(TARGET)

clean :
	rm -f *~ core $(OBJS) $(TARGET) $(ARCH)

