# 							-*- mode: makefile -*-
# Do not put GCC specific flags here. Put them instead in CFLAGS and
# CXXFLAGS in ~/.R/Makevars
LTO = $(LTO_OPT)
DEBUG=0
PKG_CPPFLAGS = -DR_PACKAGE -DDEBUG=$(DEBUG) -I./libmoocore/ $(LTO)
# This is mainly useful for deciding when recompilation is needed.
MOOCORE_SRC_FILES = hv_contrib.c hv.c pareto.c whv.c whv_hype.c avl.c eaf3d.c eaf.c io.c rng.c mt19937/mt19937.c
SOURCES = $(MOOCORE_SRC_FILES:%=libmoocore/%) init.c  Rmoocore.c
OBJECTS = $(SOURCES:.c=.o)

.PHONY: all clean exes

all: exes $(SHLIB)

$(SHLIB): $(OBJECTS)

exes:
	$(MAKE) -C libmoocore all march=none CC="$(CC)" CFLAGS="$(CFLAGS) $(LTO)" OPT_CFLAGS="" WARN_CFLAGS="" DEBUG=$(DEBUG) EXE=$(EXEEXT) BINDIR=$(PWD)
	@-$(RM) libmoocore/*.o

clean:
	@-$(RM) *.o *.so *.dll
	$(MAKE) -C libmoocore clean EXE=$(EXEEXT) BINDIR=$(PWD)
