view src/graphics/Makerules.in @ 7825:13871b7de124

Import sources for OpenGL-based renderer. * * * fixed some gcc warnings in gl-render code (casts & virtual destructor)
author Michael Goffioul <michael.goffioul@gmail.com>
date Mon, 11 Feb 2008 16:42:14 +0100
parents
children
line wrap: on
line source

# Makefile for octave's src/graphics directory
#
# Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
#               2002, 2003, 2004, 2005, 2006, 2007 John W. Eaton
#
# This file is part of Octave.
# 
# Octave is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation; either version 3 of the License, or (at
# your option) any later version.
# 
# Octave is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# for more details.
# 
# You should have received a copy of the GNU General Public License
# along with Octave; see the file COPYING.  If not, see
# <http://www.gnu.org/licenses/>.

include $(TOPDIR)/Makeconf

DLL_CDEFS = @OCTGRAPHICS_DLL_DEFS@
DLL_CXXDEFS = @OCTGRAPHICS_DLL_DEFS@

INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@

PT_FLAGS = -fexternal-templates -fno-implicit-templates
CXXFLAGS_NO_PT_FLAGS = $(filter-out $(PT_FLAGS), $(ALL_CXXFLAGS))

OCTGRAPHICS_INCS = $(GRAPHICS_INCS)

OCTGRAPHICS_SRC = $(GRAPHICS_SRC)

OCTGRAPHICS_BASE = $(basename $(notdir $(OCTGRAPHICS_SRC)))

OCTGRAPHICS_OBJ = $(addsuffix .o, $(OCTGRAPHICS_BASE))

ifeq ($(SHARED_LIBS), true)
  ifdef CXXPICFLAG
    OCTGRAPHICS_PICOBJ := $(addprefix pic/, $(OCTGRAPHICS_OBJ))
  else
    OCTGRAPHICS_PICOBJ := $(OCTGRAPHICS_OBJ)
  endif
endif

SOURCES := $(OCTGRAPHICS_SRC)

# Ugh.

DEP_1 := $(OCTGRAPHICS_SRC)
MAKEDEPS := $(patsubst %.cc, %.d, $(DEP_1))

OCTGRAPHICS_LINK_DEPS = \
  -L$(TOPDIR)/src $(LIBOCTINTERP) -L$(TOPDIR)/liboctave $(LIBOCTAVE) \
  -L$(TOPDIR)/libcruft $(LIBCRUFT) $(GRAPHICS_EXTRA_LIBS) $(LIBS) $(FLIBS)

DISTFILES = $(OCTGRAPHICS_SRC) $(OCTGRAPHICS_INCS) \
	$(addprefix $(srcdir)/, Makefile.in $(SPECIAL))

CWD = $(shell pwd)
THISDIR = $(notdir $(CWD))

ifeq ($(SHARED_LIBS), true)
  ifeq ($(STATIC_LIBS), true)
    LIBRARIES = $(LIBPRE)$(GRAPHICS_NAME).$(LIBEXT) $(LIBPRE)$(GRAPHICS_NAME).$(SHLEXT_VER)
  else
    LIBRARIES = $(LIBPRE)$(GRAPHICS_NAME).$(SHLEXT_VER)
  endif
else
  ifeq ($(STATIC_LIBS), true)
    LIBRARIES = $(LIBPRE)$(GRAPHICS_NAME).$(LIBEXT)
  else
    ## This is not going to work, but hey, you asked for it...
    LIBRARIES =
  endif
endif

all: $(LIBRARIES)
.PHONY: all

objects: $(OCTGRAPHICS_OBJ)

libraries: $(LIBRARIES)
.PHONY: libraries

$(LIBPRE)$(GRAPHICS_NAME).$(LIBEXT): $(OCTGRAPHICS_OBJ)
	rm -f $@
	$(TEMPLATE_AR) $(TEMPLATE_ARFLAGS) $@ $^
	$(RANLIB) $@

$(LIBPRE)$(GRAPHICS_NAME).$(SHLEXT_VER): $(LIBPRE)$(GRAPHICS_NAME).$(SHLEXT)
	rm -f $@
	$(LN_S) $< $@

$(LIBPRE)$(GRAPHICS_NAME).$(SHLEXT): $(OCTGRAPHICS_PICOBJ)
	rm -f $@
	$(SH_LD) $(SH_LDFLAGS) $(SONAME_FLAGS) -o $@ $^ $(OCTGRAPHICS_LINK_DEPS)

stmp-pic: pic
	@if [ -f stmp-pic ]; then \
	  true; \
	else \
	  echo "touch stmp-pic"; \
	  touch stmp-pic; \
	fi

pic:
	@if [ -d pic ]; then \
	  true; \
	else \
	  echo "mkdir pic"; \
	  mkdir pic; \
	fi

$(OCTGRAPHICS_PICOBJ): stmp-pic

PREREQ := $(GRAPHICS_PREREQ)

$(MAKEDEPS): $(PREREQ)

check: all
.PHONY: check

install: install-bin install-lib install-inc
.PHONY: install

install-strip:
	$(MAKE) INSTALL_PROGRAM="$(INSTALL_PROGRAM) -s" install
.PHONY: install-strip

install-bin:
.PHONY: install-bin

install-lib:
	$(top_srcdir)/mkinstalldirs $(DESTDIR)$(octlibdir)
	if $(STATIC_LIBS); then \
	  rm -f $(DESTDIR)$(octlibdir)/$(LIBPRE)$(GRAPHICS_NAME).$(LIBEXT); \
	  $(INSTALL_DATA) $(LIBPRE)$(GRAPHICS_NAME).$(LIBEXT) \
	    $(DESTDIR)$(octlibdir)/$(LIBPRE)$(GRAPHICS_NAME).$(LIBEXT); \
	  $(RANLIB) $(DESTDIR)$(octlibdir)/$(LIBPRE)$(GRAPHICS_NAME).$(LIBEXT); \
	fi
	if $(SHARED_LIBS); then \
	  rm -f $(DESTDIR)$(octlibdir)/$(LIBPRE)$(GRAPHICS_NAME).$(SHLEXT_VER); \
	  $(INSTALL) $(LIBPRE)$(GRAPHICS_NAME).$(SHLLIB) \
	    $(DESTDIR)$(octlibdir)/$(LIBPRE)$(GRAPHICS_NAME).$(SHLLIB_VER); \
	  rm -f $(DESTDIR)$(octlibdir)/$(LIBPRE)$(GRAPHICS_NAME).$(SHLLIB); \
	  (cd $(DESTDIR)$(octlibdir) ; $(LN_S) $(LIBPRE)$(GRAPHICS_NAME).$(SHLLIB_VER) $(DESTDIR)$(octlibdir)/$(LIBPRE)$(GRAPHICS_NAME).$(SHLLIB)); \
	  if  test x$(SHLBIN) != x ; then \
	    rm -f $(DESTDIR)$(bindir)/$(LIBPRE)$(GRAPHICS_NAME).$(SHLBIN); \
	    $(INSTALL_PROGRAM) \
	      $(LIBPRE)$(GRAPHICS_NAME).$(SHLBIN) $(DESTDIR)$(bindir)/$(LIBPRE)$(GRAPHICS_NAME).$(SHLBIN); \
	  fi; \
	fi
.PHONY: install-lib

install-inc:
	$(top_srcdir)/mkinstalldirs $(DESTDIR)$(octincludedir)/octave
	for f in $(OCTGRAPHICS_INCS); do \
	  rm -f $(DESTDIR)$(octincludedir)/octave/$$f; \
	  if [ -f $$f ]; then \
	    $(INSTALL_DATA) $$f $(DESTDIR)$(octincludedir)/octave/$$f; \
	  else \
	    $(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(octincludedir)/octave/$$f; \
	  fi ; \
	done
.PHONY: install-inc

uninstall:
	rm -f $(DESTDIR)$(octlibdir)/$(LIBPRE)$(GRAPHICS_NAME).$(LIBEXT)
	rm -f $(DESTDIR)$(octlibdir)/$(LIBPRE)$(GRAPHICS_NAME).$(SHLLIB)
	rm -f $(DESTDIR)$(octlibdir)/$(LIBPRE)$(GRAPHICS_NAME).$(SHLLIB_VER)
	if test x$(SHLBIN) != x ; then \
	  rm -f $(DESTDIR)$(bindir)/$(LIBPRE)$(GRAPHICS_NAME).$(SHLBIN); \
	  rm -f $(DESTDIR)$(bindir)/$(LIBPRE)$(GRAPHICS_NAME).$(SHLBIN_VER); \
	fi
	for f in $(OCTGRAPHICS_INCS); do \
	  rm -f $(DESTDIR)$(octincludedir)/octave/$$f; \
	done
	-rmdir $(DESTDIR)$(octincludedir)/octave
	-rmdir $(DESTDIR)$(octincludedir)
	-rmdir $(DESTDIR)$(octlibdir)
	-rmdir $(DESTDIR)$(octfiledir)
.PHONY: uninstall

tags: $(SOURCES) $(DLD_SRC)
	ctags $(SOURCES) $(DLD_SRC)

TAGS: $(SOURCES) $(DLD_SRC)
	etags $(SOURCES) $(DLD_SRC)

clean mostlyclean distclean maintainer-clean::
	rm -f $(MAKEDEPS) $(OCTGRAPHICS_OBJ) $(OCTGRAPHICS_PICOBJ)
	-rmdir pic
	rm -f stmp-pic
.PHONY: clean mostlyclean

clean::
	rm -f $(LIBPRE)$(GRAPHICS_NAME).$(LIBEXT)
	rm -f $(LIBPRE)$(GRAPHICS_NAME).$(SHLEXT_VER) $(LIBPRE)$(GRAPHICS_NAME).$(SHLEXT)

distclean maintainer-clean::
	rm -f Makefile
.PHONY: distclean
	
maintainer-clean::
	rm -f tags TAGS
.PHONY: maintainer-clean

dist:
	ln $(EXTERNAL_DISTFILES) $(TOPDIR)/`cat $(TOPDIR)/.fname`/src/graphics/$(THISDIR)
.PHONY: dist

ifdef omit_deps
.PHONY: $(MAKEDEPS)
endif

-include $(MAKEDEPS)