### Makefile ###

COMMON_DIR	= ../../common
BIN_DIR		= ../bin

CXX		= g++
CXXFLGAS	= -Wall -fPIC
INCLUDES	= -I. -I$(COMMON_DIR)/src
LIBS		= 
#LIBS		= -L$(COMMON_DIR)/lib -ldump -lz

FLAGS		= $(CXXFLGAS) $(INCLUDES)

SRCALL		= $(wildcard *.cc)
DEPENDS		= $(SRCALL:.cc=.d)

SRC		= $(filter-out %main.cc,$(SRCALL))
OBJ		= $(SRC:.cc=.o)

all: debug set_nimo load_matrix3d load_matrix2d reconfig_fpga daq

debug: debug_main.o $(OBJ)
	$(CXX) -o $(BIN_DIR)/$@ debug_main.o $(OBJ) $(LIBS)

set_nimo: set_nimo_main.o $(OBJ)
	$(CXX) -o $(BIN_DIR)/$@ set_nimo_main.o $(OBJ) $(LIBS)

load_matrix3d: load_matrix3d_main.o $(OBJ)
	$(CXX) -o $(BIN_DIR)/$@ load_matrix3d_main.o $(OBJ) $(LIBS)

load_matrix2d: load_matrix2d_main.o $(OBJ)
	$(CXX) -o $(BIN_DIR)/$@ load_matrix2d_main.o $(OBJ) $(LIBS)

reconfig_fpga: reconfig_fpga_main.o $(OBJ)
	$(CXX) -o $(BIN_DIR)/$@ reconfig_fpga_main.o $(OBJ) $(LIBS)

daq: daq_main.o $(OBJ)
	$(CXX) -o $(BIN_DIR)/$@ daq_main.o $(OBJ) $(LIBS)

.cc.o:
	$(CXX) $(FLAGS) -c -MMD $< -o $@

clean:
	$(RM) $(BIN_DIR)/* *.o *.d *~

-include $(DEPENDS)