# 							-*- 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)

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

.PHONY: all clean

default: $(SHLIB)
	$(MAKE) -C eaf all march=none CC="$(CC)" CFLAGS="$(CFLAGS)" OPT_CFLAGS="" WARN_CFLAGS="" DEBUG=0 EXE=$(EXEEXT)
	$(MAKE) -C mo-tools all march=none CC="$(CC)" CFLAGS="$(CFLAGS)" OPT_CFLAGS="" WARN_CFLAGS="" DEBUG=0 EXE=$(EXEEXT)

$(SHLIB): $(OBJECTS)

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

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