# standalone tests generation makefile:

# creates an executable from each .cpp file in the 
# src directory:
PROJECT_DIR=$(USBDAQDIR)


ifeq ($(PLATFORM),Linux)
CXX=g++
LD=g++
else

endif

ifeq ($(PLATFORM),Linux)
INCDIR =  \
-I$(PROJECT_DIR)/interface \
-I$(PROJECT_DIR)/include 

else

endif

ifeq ($(PLATFORM),Linux)
CXXFLAGS=-c -Wall -fPIC -ansi  -g -DLinux
else

endif

ifeq ($(PLATFORM),Linux)

LINKSEARCH=-L$(USBDAQDIR)/lib


else


endif


LDFLAGS+=
#LINK+=
LIBS=-lusb -lUSBDAQSoftware



# file locations: 
EXEDIR=bin
SRCDIR=src
OBJDIR=obj
LIBDIR=lib

OBJ_EXT=o

# populate variables:
SRC=$(wildcard src/*.cpp)
OBJ=$(subst $(SRCDIR), $(OBJDIR),$(subst cpp,$(OBJ_EXT),$(SRC)))

# deduce the targets:
TARGETS=$(subst .cpp,,$(subst $(SRCDIR),$(EXEDIR),$(SRC)))


all:$(TARGETS) $(OBJ) 

$(OBJDIR)/%.$(OBJ_EXT):$(SRCDIR)/%.cpp
	$(CXX) $(CXXFLAGS) $(INCDIR) $<  -o $@

$(EXEDIR)/%:$(OBJDIR)/%.$(OBJ_EXT)
	$(LD) -o $@ $(LDFLAGS) $< $(LINKSEARCH) $(LIBS) 


vars:
	@echo "Project Dir: " $(PROJECT_DIR)
	@echo "INCDIR: " $(INCDIR)
	@echo "LINKSEARCH: " $(LINKSEARCH)
	@echo "LIBS: " $(LIBS)
	@echo "Source files: " $(SRC) 
	@echo "Object files: " $(OBJ)
	@echo "Executables:  " $(TARGETS)

clean:
	rm -f $(OBJ) $(TARGETS)

force:
	@make clean
	@make
