# Standalone tests generation makefile:

# creates an executable from each .cpp file in the 
# src directory:

ifeq ($(PLATFORM),Linux)
CXX=g++
LD=g++
else
CXX=c:/Dev-Cpp/bin/mingw32-g++.exe
LD=c:/Dev-Cpp/bin/mingw32-g++.exe
endif

ifeq ($(PLATFORM),Linux)
INCDIR= -I../interface -I../include -I/usr/local/libusb/ \
-I$(USBDAQDIR)/include \
-I$(USBDAQDIR)/interface \

else

endif

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

ifeq ($(PLATFORM),Linux)

LINKSEARCH= -L/usr/local/libusb/.libs \
-L$(USBDAQDIR)/lib -L../lib


else


endif


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


# 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 "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
