diff options
author | fourdan | 2006-05-24 13:50:33 +0000 |
---|---|---|
committer | fourdan | 2006-05-24 13:50:33 +0000 |
commit | fb3af665bef25a9056535b8ec2b90f109ee6908c (patch) | |
tree | 8edb920ff7a3a686b756a628b5b2190d8da1b058 /Makefile | |
parent | e5596cb2311ae3b8ac7d3b9f9f7dbd0e842fde80 (diff) | |
download | ivy-cplusplus-fb3af665bef25a9056535b8ec2b90f109ee6908c.zip ivy-cplusplus-fb3af665bef25a9056535b8ec2b90f109ee6908c.tar.gz ivy-cplusplus-fb3af665bef25a9056535b8ec2b90f109ee6908c.tar.bz2 ivy-cplusplus-fb3af665bef25a9056535b8ec2b90f109ee6908c.tar.xz |
Modification du Makefile pour generer les libs statiques et dynamiques, ajout des dependances sur les libs dynamiques pour simplifier la generation des executables qui de link avec ces libs, ajout de la cible install.
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 68 |
1 files changed, 47 insertions, 21 deletions
@@ -1,16 +1,18 @@ +# $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 +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= +CPPFLAGS = -MMD -I/usr/X11R6/include +DSO_EXT = .so +LD = g++ -shared +LDFLAGS = -L/usr/X11R6/lib +PREFIX=/usr endif @@ -25,8 +27,19 @@ DEPS_GLFW := $(CXXFILES_GLFW:.cxx=.d) LD_QUICKSTART_INFO= GCXXINCS= -LIBIVY = libIvy.a -LIBIVY_GLFW = libIvy_glfw.a + +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') @@ -45,21 +58,34 @@ else CC= g++ -fPIC -O2 -Wall $(CPPFLAGS) endif -default: $(LIBIVY) $(LIBIVY_GLFW) +default: $(LIBIVY_STATIC) $(LIBIVY_GLFW_STATIC) $(LIBIVY_SHARED) $(LIBIVY_GLFW_SHARED) %.o: %.cxx $(CC) -c $< -$(LIBIVY) : $(OBJECTS) - ar rv $(LIBIVY) $(OBJECTS) - ranlib $(LIBIVY) - -$(LIBIVY_GLFW) : $(OBJECTS_GLFW) - ar rv $(LIBIVY_GLFW) $(OBJECTS_GLFW) - ranlib $(LIBIVY_GLFW) - - - +$(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 + install -m 0644 Ivy*.h $(DESTDIR)$(PREFIX)/include/Ivy + # libs + 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 |