CURDIR1 = $(CURDIR)/..

CAMINC  = $(CURDIR)
CAMSRC  = $(CURDIR)

ifeq "$(strip $(filter debug,$(MAKECMDGOALS)))" "debug"
	CAMBIN = $(CURDIR)/debug_lnx
    PREDEFS += -D_DEBUG
    PREDEFS += -O0 -g -fno-inline
    CXXFLAGS += -g
#    LDAddFlags = -r
else
	CAMBIN  = $(CURDIR)/bin64
    PREDEFS += -O2
#   LDAddFlags = -r -s
endif

ifndef PCORT
	PCORT = $(CURDIR1)/runtime
endif

PREDEFS += -DPCO_LINUX
PCOINCDIR  = $(PCORT)/include
PCOLIBDIR  = $(PCORT)/bin64 #

INCLUDES = -I$(PCOINCDIR)
HEADERS = # local headers

CAM_HEADERS = cameraexception.h defs.h image.h camera.h stdafx.h
CAM_O   = $(patsubst %.cpp,%.o,$(notdir $(wildcard $(CURDIR)/*.cpp)))
CAMERA  = $(addprefix $(CAMBIN)/,$(CAM_O))
CAM_MODULES = camera image cameraexception


CXXFLAGS += -std=c++17 -Wall $(PREDEFS) 

TARGET = $(CAMERA)#$(addsuffix .o, $(addprefix $(CAMBIN)/,$(CAM_MODULES)))
$(info $(CAMERA))

all: dirs $(TARGET)

debug: dirs $(TARGET)

clean:
		$(RM) *.o *~ $(TARGET) $(OUTDIR)/*.log $(CAMBIN)/*
		
dirs:
		@if [ ! -d $(CAMBIN) ]; then \
		echo create directory $(CAMBIN)/; \
		mkdir $(CAMBIN); \
		fi


$(CAMBIN)/%.o: $(CURDIR)/%.cpp $(addprefix $(CAMINC)/,$(CAM_HEADERS)) Makefile
		$(CXX) $(CXXFLAGS) -c $< -o $@ $(INCLUDES)

