sinclude ../../Makeconf
FIXEDVERTARGET = fixedversion.h
FIXEDTARGET = fixed.oct
FIXEDLINKTARGETS = $(patsubst %,%$(OCTLINK), \
isfixed fabs fcos fcosh fsin fsinh \
ftan ftanh fsqrt fexp flog flog10 fround \
ffloor fceil fprod fsum fsumsq fcumsum \
fcumprod display_fixed_operations reset_fixed_operations \
freshape fdiag fatan2 freal fimag fconj \
farg fangle)
SUBDIRS = examples doc
ifeq (,$(findstring cygwin,$(canonical_host_type)))
ifeq (,$(findstring mingw,$(canonical_host_type)))
OCT_INCLUDES_LIB = 1
endif
endif
export OCT_INCLUDES_LIB
ifeq (1,$(OCT_INCLUDES_LIB))
FIXEDSOURCES = fixedColVector.cc fixedRowVector.cc \
fixedMatrix.cc fixedComplex.cc fixedCColVector.cc fixedCRowVector.cc \
fixedCMatrix.cc Array-f.cc fixed-conv.cc ov-fixed.cc ov-fixed-mat.cc \
fixedNDArray.cc fixedCNDArray.cc \
ov-fixed-complex.cc ov-fixed-cx-mat.cc \
op-fs-fs.cc op-fs-fm.cc op-fm-fs.cc op-fm-fm.cc \
op-fs-fcs.cc op-fs-fcm.cc op-fm-fcs.cc op-fm-fcm.cc \
op-fcs-fs.cc op-fcs-fm.cc op-fcm-fs.cc op-fcm-fm.cc \
op-fcs-fcs.cc op-fcs-fcm.cc op-fcm-fcs.cc op-fcm-fcm.cc \
op-fil-fs.cc op-fil-fm.cc op-fil-fcs.cc op-fil-fcm.cc \
fixed-var.cc fixed.cc
FIXEDOBJECTS = fixed-int.o $(patsubst %.cc,%.o,$(FIXEDSOURCES))
FIXEDDEPENDS = fixed-int.d $(patsubst %.cc,%.d,$(FIXEDSOURCES))
TARGETS = $(FIXEDTARGET) $(FIXEDLINKTARGETS)
OBJECTS = $(FIXEDOBJECTS)
EXTRALIBS =
else
FIXEDLIBTARGET = liboctave_fixed.dll
FIXEDLIBSOURCES = fixedColVector.cc fixedRowVector.cc \
fixedMatrix.cc fixedComplex.cc fixedCColVector.cc fixedCRowVector.cc \
fixedCMatrix.cc Array-f.cc fixed-conv.cc ov-fixed.cc ov-fixed-mat.cc \
fixedNDArray.cc fixedCNDArray.cc \
ov-fixed-complex.cc ov-fixed-cx-mat.cc \
op-fs-fs.cc op-fs-fm.cc op-fm-fs.cc op-fm-fm.cc \
op-fs-fcs.cc op-fs-fcm.cc op-fm-fcs.cc op-fm-fcm.cc \
op-fcs-fs.cc op-fcs-fm.cc op-fcm-fs.cc op-fcm-fm.cc \
op-fcs-fcs.cc op-fcs-fcm.cc op-fcm-fcs.cc op-fcm-fcm.cc \
op-fil-fs.cc op-fil-fm.cc op-fil-fcs.cc op-fil-fcm.cc \
fixed-var.cc
FIXEDLIBOBJECTS = fixed-int.o $(patsubst %.cc,%.o,$(FIXEDLIBSOURCES))
FIXEDLIBDEPENDS = fixed-int.d $(patsubst %.cc,%.d,$(FIXEDLIBSOURCES))
FIXEDSOURCES = fixed.cc
FIXEDOBJECTS = $(patsubst %.cc,%.o,$(FIXEDSOURCES))
FIXEDDEPENDS = $(FIXEDLIBDEPENDS) $(patsubst %.cc,%.d,$(FIXEDSOURCES))
TARGETS = $(FIXEDLIBTARGET) $(FIXEDTARGET) $(FIXEDLINKTARGETS)
OBJECTS = $(FIXEDLIBOBJECTS) $(FIXEDOBJECTS)
EXTRALIBS = -L./ -loctave_fixed
# The name of this flag changed in version 2.1.54. Use both versions
# so that one of them will work.
MY_SH_LDFLAGS = $(shell $(MKOCTFILE) -p SH_LDFLAGS) \
-Wl,--out-implib=$(FIXEDLIBTARGET).a
MY_DL_LDFLAGS = $(shell $(MKOCTFILE) -p DL_LDFLAGS) \
-Wl,--out-implib=$(FIXEDLIBTARGET).a
endif
ifeq ($(MAKECMDGOALS),all)
DEPENDS = $(FIXEDDEPENDS)
endif
ifeq ($(MAKECMDGOALS),)
DEPENDS = $(FIXEDDEPENDS)
endif
DELETES = $(OBJECTS) $(FIXEDDEPENDS) $(TARGETS) $(FIXEDLIBTARGET).a \
$(FIXEDVERTARGET) core octave-core *~ *.d-t int/fixed.o int/fixed.d \
int/fixed.d-t
DEFINES = -DOCTAVE_FORGE $(HAVE_DO_FORTRAN_INDEXING) \
$(HAVE_PROPAGATE_EMPTY_MATRICES) \
$(HAVE_OK_TO_LOSE_IMAGINARY_PART) \
$(HAVE_ND_ARRAYS) $(TYPEID_HAS_CLASS) \
$(CLASS_HAS_LOAD_SAVE) $(MX_ND_RED_NUM) \
$(HAVE_OCTAVE_CONCAT) $(HAVE_SWAP_BYTES) $(HAVE_OCTAVE_UPLUS)
MOFLAGS =
.PHONY: all clean count $(SUBDIRS)
.SUFFIXES:
.PRECIOUS: %.d %.o
all : $(TARGETS) $(SUBDIRS)
ifndef OCTAVE_FORGE
install :
@echo "Where exactly do you want me to install to!!!"
else
ifeq (1,$(OCT_INCLUDES_LIB))
install : $(SUBDIRS)
@$(INSTALL) -d $(DESTDIR)$(MPATH)/fixed
else
install : $(SUBDIRS)
@$(INSTALL) -d $(DESTDIR)$(MPATH)/fixed; \
if test ! -e $(bindir)/liboctave.dll ; then \
echo "****** WARNING: $(FIXEDLIBTARGET) not correctly installed."; \
echo "****** To ensure correct operation $(FIXEDLIBTARGET) should"; \
echo "****** be in the same directory as liboctave.dll"; \
fi; \
$(INSTALL) $(FIXEDLIBTARGET) $(bindir); \
if test ! -e $(libdir)/liboctave.dll.a ; then \
echo "****** WARNING: $(FIXEDLIBTARGET).a not correctly installed"; \
echo "****** To ensure correct operation $(FIXEDLIBTARGET).a"; \
echo "****** should be in the same directory as liboctave.dll.a"; \
fi; \
$(INSTALL) $(FIXEDLIBTARGET).a $(libdir);
$(FIXEDLIBTARGET): $(FIXEDLIBDEPENDS) $(FIXEDLIBOBJECTS)
@echo "Linking $@"; \
$(RM) -f $@; \
DL_LDFLAGS="$(MY_DL_LDFLAGS)" SH_LDFLAGS="$(MY_SH_LDFLAGS)" $(MKOCTFILE) -v -o $@ $(FIXEDLIBOBJECTS)
endif
endif
$(FIXEDTARGET) : $(DEPENDS) $(FIXEDOBJECTS)
@echo "Linking $@"; \
$(MKOCTFILE) $(MOFLAGS) $(FIXEDOBJECTS) $(EXTRALIBS) -o $@
$(FIXEDVERTARGET) :
@echo "Creating $@"; $(RM) -f $@; \
echo "#define OCTAVEFIXEDVERSION \"$(OCTAVEFIXEDVERSION)\"" > $@
$(FIXEDLINKTARGETS) :
@echo "Symbolic linking $@ to $(FIXEDTARGET)"; \
$(RM) -f $@ ; \
$(MKOCTLINK) $(FIXEDTARGET) $@
ifneq (,$(DEPENDS))
sinclude $(DEPENDS)
endif
$(SUBDIRS) :
@if test -z "$(MAKECMDGOALS)" ; then \
cd $@ && $(MAKE) ; \
elif grep -q "^$(MAKECMDGOALS) *[:]" $@/Makefile ; then \
cd $@ && $(MAKE) $(MAKECMDGOALS) ; \
fi
fixed-int.d : int/fixed.cc
@echo "Depending $<"; \
$(MKOCTFILE) $(MOFLAGS) $(DEFINES) -M int/fixed.cc; \
$(LN_S) $(patsubst %.cc,%.d,$<) $@
fixed-var.d : $(FIXEDVERTARGET)
fixed-int.o : int/fixed.cc fixed-int.d
@echo "Compiling $@ from $<"; \
$(MKOCTFILE) $(MOFLAGS) $(DEFINES) -c $<; \
$(RM) -f $@ ; \
$(LN_S) $(patsubst %.cc,%.o,$<) $@
%.d: %.cc
@echo "Depending $<"; \
$(MKOCTFILE) $(MOFLAGS) $(DEFINES) -M $<
%.o:%.cc
%.o:%.cc %.d
@echo "Compiling $@"; \
$(MKOCTFILE) $(MOFLAGS) $(DEFINES) -c $<
clean: $(SUBDIRS)
@echo "Cleaning..."; \
$(RM) -f $(DELETES)
realclean: $(SUBDIRS)
@echo "Cleaning..."; \
$(RM) -f $(DELETES)
dist: $(SUBDIRS)
count: $(SUBDIRS)
wc *{.cc,.h,.m} int/*.{cc,h}
syntax highlighted by Code2HTML, v. 0.9.1