sinclude ../Makeconf
# Needed for sort.oct
SORTDEFINES=$(HAVE_IEEE754_COMPLIANCE) $(HAVE_ND_ARRAYS)
# This bit of logic decides whether to build sort.oct or not, as it
# is include in octave versions 2.1.58 and greater
t2.1.58=sort.oct
SORT_BUILD=$($(word 2, $(sort t$(OCTAVE_VERSION) t2.1.58)))
# RANDFLAGS controls whether all 53 bits of mantissa are used. For 32 bits
# (~50% faster) use the following:
# make RANDFLAGS=
# for 53 bits use:
# make RANDFLAGS=-DALLBITS
# The default is 53 bits.
# There are special optimizations for X86 architecture. These are turned
# on automatically for -Di386, which is the default for gcc and icc on x86
# architectures, or for -DHAVE_X86_32. You can override this by adding
# -DUSE_X86_32=1 to enable or -DUSE_X86_32=0 to suppress onto the RANDFLAGS.
# Enabling it will give incorrect results for BIG_ENDIAN architectures!
# Also, it is important to choose the correct optimization level and CPU
# type for X86 to get maximum performance. The following works well for me:
# CFLAGS="-O2 -march=i686" make
# Note that -O3 is much slower than -O2 for me.
RANDFLAGS = -DALLBITS
RAND_LINKS = $(patsubst %,%$(OCTLINK),randn rande randp randg)
PROGS = $(SORT_BUILD) rand.oct $(RAND_LINKS)
#fsolve.oct
all: $(PROGS)
#$(PROGS): Makefile
randtest: randmtzig.c
$(CC) $(CFLAGS) $(RANDFLAGS) -DTEST randmtzig.c -o randtest -lm
$(RAND_LINKS):
-$(RM) $@
$(MKOCTLINK) rand.oct $@
rand.oct : randmtzig.c randpoisson.c randgamma.c rand.cc
$(MKOCTFILE) $(RANDFLAGS) $(HAVE_ND_ARRAYS) rand.cc
sort.oct : sort.cc oct-sort.cc oct-sort.h
$(MKOCTFILE) $(SORTDEFINES) $<
# FIXES needs an install target because it isn't under main/ or extra/
install:
@if test -f FIXES/NOINSTALL ; then \
echo skipping FIXES ; \
else \
echo installing FIXES to $(DESTDIR)$(MPATH)/FIXES ; \
../$(INSTALLOCT) . $(DESTDIR)$(MPATH)/FIXES \
$(DESTDIR)$(OPATH) $(DESTDIR)$(XPATH) ; \
fi
clean:
-$(RM) *.o core octave-core core *.oct *~ randtest
# Do nothing for dist target
dist:
syntax highlighted by Code2HTML, v. 0.9.1