# $Id$ os=$(shell uname -s) ifeq ($(os),Darwin) IVY_PATH := $(HOME)/src-ext/ivy-c-3.6/src CPPFLAGS = -MMD -I$(IVY_PATH) DSO_EXT = .dylib LD = g++ -dynamiclib -single_module LDFLAGS = -L$(IVY_PATH) -L/sw/lib -framework OpenGL -framework AGL -framework Carbon else CPPFLAGS = -MMD -I/usr/X11R6/include DSO_EXT = .so LD = g++ -shared LDFLAGS = -L/usr/X11R6/lib PREFIX=/usr endif CXXFILES := Ivy.cxx IvyApplication.cxx OBJECTS := $(CXXFILES:.cxx=.o) DEPS := $(CXXFILES:.cxx=.d) CXXFILES_GLFW := Ivy_glfw.cxx IvyApplication.cxx OBJECTS_GLFW := $(CXXFILES_GLFW:.cxx=.o) DEPS_GLFW := $(CXXFILES_GLFW:.cxx=.d) LD_QUICKSTART_INFO= GCXXINCS= LIBIVY = libIvy LIBIVY_GLFW = $(LIBIVY)_glfw LIBIVY_STATIC = l$(LIBIVY).a LIBIVY_GLFW_STATIC = $(LIBIVY_GLFW).a LIBIVY_SHARED = $(LIBIVY)$(DSO_EXT) LIBIVY_DEPLIBS = -livy LIBIVY_GLFW_SHARED = $(LIBIVY_GLFW)$(DSO_EXT) LIBIVY_GLFW_DEPLIBS = -lglfw -livy -lX11 -lXext -lXxf86vm -lGL -lpthread PERHAPS64= `uname -m | perl -ne "print /64/ ? '64' : '';"` ifeq ($(PERHAPS64), '64') XTLIB = -L/usr/X11R6/lib/ else XTLIB = -L/usr/X11R6/lib64/ endif #a mettre dans les makefiles generant les executables #LLDLIBS= -rpath. -L. -lTextureLabel -lInventor -lInventorXt -lXm -lXt -lttf -lGL -lGLU -lm ifdef DEBUG CC= g++ -fPIC -g -Wall -pg $(CPPFLAGS) else CC= g++ -fPIC -O2 -Wall $(CPPFLAGS) endif default: $(LIBIVY_STATIC) $(LIBIVY_GLFW_STATIC) $(LIBIVY_SHARED) $(LIBIVY_GLFW_SHARED) %.o: %.cxx $(CC) -c $< $(LIBIVY_STATIC) : $(OBJECTS) ar rv $(LIBIVY_STATIC) $(OBJECTS) ranlib $(LIBIVY_STATIC) $(LIBIVY_GLFW_STATIC) : $(OBJECTS_GLFW) ar rv $(LIBIVY_GLFW_STATIC) $(OBJECTS_GLFW) ranlib $(LIBIVY_GLFW_STATIC) $(LIBIVY_SHARED) : $(OBJECTS) $(LD) -o $(LIBIVY_SHARED) $(OBJECTS) $(LDFLAGS) $(LIBIVY_DEPLIBS) $(LIBIVY_GLFW_SHARED) : $(OBJECTS_GLFW) $(LD) -o $(LIBIVY_GLFW_SHARED) $(OBJECTS_GLFW) $(LDFLAGS) $(LIBIVY_GLFW_DEPLIBS) install: # headers mkdir -p $(DESTDIR)$(PREFIX)/include/Ivy install -m 0644 Ivy*.h $(DESTDIR)$(PREFIX)/include/Ivy # libs mkdir -p $(DESTDIR)$(PREFIX)/lib install -m 0644 $(LIBIVY_STATIC) $(DESTDIR)$(PREFIX)/lib install -m 0644 $(LIBIVY_GLFW_STATIC) $(DESTDIR)$(PREFIX)/lib install -m 0644 $(LIBIVY_SHARED) $(DESTDIR)$(PREFIX)/lib install -m 0644 $(LIBIVY_GLFW_SHARED) $(DESTDIR)$(PREFIX)/lib LLDLIBS = -L $(XTLIB) -Wl,-rpath,$(XTLIB) -L. -Wl,-rpath,. -L$(IVY_PATH)/src testIvy : testIvy.cxx g++ -g $(LDFLAGS) $(LLDLIBS) -o $@ testIvy.cxx -lIvy -lxtivy -lXt -lX11 clean : /bin/rm -f *$(DSO_EXT) $(OBJECTS) $(LIBIVY) $(DEPS) \ $(OBJECTS_GLFW) $(LIBIVY_GLFW) $(DEPS_GLFW) core *.o *.d *~ -include *.d