# 							-*- mode: makefile -*-
# Do not put GCC specific flags here. Put them instead in CFLAGS and
# CXXFLAGS in ~/.R/Makevars
PKG_CPPFLAGS = -DR_PACKAGE -DDEBUG=1 -I./eaf/ -I./mo-tools/
EAF_SRC_FILES= avl.c eaf3d.c eaf.c io.c
MOTOOLS_SRC_FILES = hv_contrib.c hv.c pareto.c
SOURCES = $(EAF_SRC_FILES:%=eaf/%) $(MOTOOLS_SRC_FILES:%=mo-tools/%) init.c  Reaf.c  Repsilon.c  Rhv.c  Rnondominated.c  
OBJECTS = $(SOURCES:.c=.o)
EXE=

eaf = eaf/eaf$(EXE)
igd = mo-tools/igd$(EXE)
epsilon = mo-tools/epsilon$(EXE)
dominatedsets = mo-tools/dominatedsets$(EXE)
nondominated = mo-tools/nondominated$(EXE)
ndsort = mo-tools/ndsort$(EXE)

all: $(SHLIB) $(eaf) $(igd) $(epsilon) $(nondominated) $(dominatedsets) $(ndsort)

$(SHLIB): $(OBJECTS) 

mo-tools/hv.o: PKG_CPPFLAGS += -DVARIANT=4


$(igd) $(epsilon) $(nondominated) $(dominatedsets) $(ndsort):
	$(MAKE) -C mo-tools all march=none CC="$(CC)" CFLAGS="$(CFLAGS)" WARN_CFLAGS="" DEBUG=0

$(eaf):
	$(MAKE) -C eaf all march=none CC="$(CC)" CFLAGS="$(CFLAGS)" WARN_CFLAGS=""

clean:
	@-rm -f *.o *.so *.dll \
	eaf/*.o $(eaf) \
	$(igd) $(epsilon) $(dominatedsets) $(nondominated) $(ndsort) \
	mo-tools/*.o 




