ROT_PATH = ../
INC_PATH = $(ROT_PATH)/include
OBJ_PATH = $(ROT_PATH)/obj/$(MACHTYPE)
LIB_PATH = $(ROT_PATH)/lib/$(MACHTYPE)
EXE_PATH = $(ROT_PATH)/utils/$(MACHTYPE)
BIN_PATH = $(ROT_PATH)/bin/$(MACHTYPE)

LIB      = -lX11 -lXdmcp -lvl -lm
OBJ      = $(OBJ_PATH)/sony.o $(OBJ_PATH)/UCamControl.o $(OBJ_PATH)/USemaphore.o $(OBJ_PATH)/UEVID30.o 
SONY     = $(BIN_PATH)/sony
SRC      = $(ROT_PATH)/src/Camera/UCamControl.cc $(ROT_PATH)/src/Camera/UEVID30.cc $(ROT_PATH)/src/Async/USemaphore.cc

INC_COMM = -I$(INC_PATH)
LIB_COMM = -L$(LIB_PATH)

ifeq ($(MACHTYPE),iris64)
FLGS     = -mips4 -w $(INC_COMM)
else
FLGS     = -O2 $(INC_COMM)
endif
C++      = CC
C++FLAGS = $(FLGS)

TARGETS  = $(SONY)

default all: ${TARGETS}

$(OBJ_PATH)/UCamControl.o: $(ROT_PATH)/src/Camera/UCamControl.cc
	$(C++) $(C++FLAGS) -c $< -o $@

$(OBJ_PATH)/UEVID30.o: $(ROT_PATH)/src/Camera/UEVID30.cc
	$(C++) $(C++FLAGS) -c $< -o $@

$(OBJ_PATH)/USemaphore.o: $(ROT_PATH)/src/Async/USemaphore.cc
	$(C++) $(C++FLAGS) -c $< -o $@

$(OBJ_PATH)/%.o : %.cc
	$(C++) $(C++FLAGS) -c $< -o $@

$(SONY): $(OBJ)
	$(C++) $(C++FLAGS) -o $(SONY) $(OBJ) $(LIB_COMM) $(LIB) 

clean:
	rm -f $(SONY) $(OBJ_PATH)/sony.o
	rm -f *~
	rm -f core


