diff --git a/Makefile b/Makefile index ebba21a..bb019a5 100644 --- a/Makefile +++ b/Makefile @@ -132,7 +132,7 @@ lib/$(LIB.STATIC.MX): $(LIB.OBJS.MX) $(AR) cr $@ $^ lib/$(LIB.SHARED.MX): $(LIB.SOBJS.MX) - $(LD) $(LDFLAGS.SO) -o $@ $^ $(LIB.LDFLAGS) $(LIB.LIBS) + $(LD) $(LDFLAGS.SO.MX) -o $@ $^ $(LIB.LDFLAGS) $(LIB.LIBS) ifeq ($(filter-out mingw% cygwin,$(SYSTEM)),) else $(LN) $(LIB.SHARED.MX) lib/$(LIB.SONAME.MX) diff --git a/config/Makefile.cygming b/config/Makefile.cygming index df25279..6147717 100644 --- a/config/Makefile.cygming +++ b/config/Makefile.cygming @@ -7,7 +7,6 @@ CC = gcc -mno-cygwin # use gcc for linking, with ld it does not work LD = gcc -mno-cygwin CFLAGS.SO = -DGLEW_BUILD -LDFLAGS.SO = -shared -Wl,-soname,$(LIB.SONAME) -Wl,--out-implib,lib/$(LIB.DEVLNK) LDFLAGS.GL = -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32 LDFLAGS.EXTRA = -L$(LIBDIR) WARN = -Wall -W @@ -17,7 +16,9 @@ LIB.SONAME = lib$(NAME).dll LIB.DEVLNK = lib$(NAME).dll.a # for mingw this is the dll import lib LIB.SHARED = $(NAME).dll LIB.STATIC = lib$(NAME).a # the static lib will be broken (see CFLAGS.SO) +LDFLAGS.SO = -shared -Wl,-soname,$(LIB.SONAME) -Wl,--out-implib,lib/$(LIB.DEVLNK) LIB.SONAME.MX = lib$(NAME)mx.dll LIB.DEVLNK.MX = lib$(NAME)mx.dll.a # for mingw this is the dll import lib LIB.SHARED.MX = $(NAME)mx.dll LIB.STATIC.MX = lib$(NAME)mx.a # the static lib will be broken (see CFLAGS.SO) +LDFLAGS.SO.MX = -shared -Wl,-soname,$(LIB.SONAME.MX) -Wl,--out-implib,lib/$(LIB.DEVLNK.MX) diff --git a/config/Makefile.cygwin b/config/Makefile.cygwin index 4a63891..068bc09 100644 --- a/config/Makefile.cygwin +++ b/config/Makefile.cygwin @@ -3,7 +3,6 @@ GLEW_DEST ?= /usr/X11R6 CC = cc # use gcc for linking, with ld it does not work LD = cc -LDFLAGS.SO = -shared -Wl,--out-implib,lib/$(LIB.DEVLNK) LDFLAGS.EXTRA = -L/usr/X11R6/lib LIBDIR = $(GLEW_DEST)/lib LDFLAGS.GL = -lXmu -lXi -lGLU -lGL -lXext -lX11 @@ -16,7 +15,9 @@ LIB.SONAME = cyg$(NAME)-$(SO_MAJOR).dll LIB.DEVLNK = lib$(NAME).dll.a LIB.SHARED = cyg$(NAME)-$(SO_MAJOR).dll LIB.STATIC = lib$(NAME).a +LDFLAGS.SO = -shared -Wl,--out-implib,lib/$(LIB.DEVLNK) LIB.SONAME.MX = cyg$(NAME)mx-$(SO_MAJOR).dll LIB.DEVLNK.MX = lib$(NAME)mx.dll.a LIB.SHARED.MX = cyg$(NAME)mx-$(SO_MAJOR).dll LIB.STATIC.MX = lib$(NAME)mx.a +LDFLAGS.SO.MX = -shared -Wl,--out-implib,lib/$(LIB.DEVLNK.MX) diff --git a/config/Makefile.darwin b/config/Makefile.darwin index 69a474f..bdb0b49 100644 --- a/config/Makefile.darwin +++ b/config/Makefile.darwin @@ -3,7 +3,6 @@ CC = cc LD = cc CFLAGS.EXTRA = -no-cpp-precomp -dynamic -fno-common PICFLAG = -fPIC -LDFLAGS.SO = -dynamiclib -install_name $(GLEW_DEST)/lib/$(LIB.SHARED) LDFLAGS.EXTRA = ifneq (undefined, $(origin GLEW_APPLE_GLX)) CFLAGS.EXTRA += -I/usr/X11R6/include -D'GLEW_APPLE_GLX' @@ -20,8 +19,10 @@ LIB.SONAME = lib$(NAME).$(SO_MAJOR).dylib LIB.DEVLNK = lib$(NAME).dylib LIB.SHARED = lib$(NAME).$(SO_VERSION).dylib LIB.STATIC = lib$(NAME).a +LDFLAGS.SO = -dynamiclib -install_name $(GLEW_DEST)/lib/$(LIB.SHARED) LIB.SONAME.MX = lib$(NAME)mx.$(SO_MAJOR).dylib LIB.DEVLNK.MX = lib$(NAME)mx.dylib LIB.SHARED.MX = lib$(NAME)mx.$(SO_VERSION).dylib LIB.STATIC.MX = lib$(NAME)mx.a +LDFLAGS.SO.MX = -dynamiclib -install_name $(GLEW_DEST)/lib/$(LIB.SHARED.MX) SHARED_OBJ_EXT = pic_o diff --git a/config/Makefile.freebsd b/config/Makefile.freebsd index fe0c324..aa3a97d 100644 --- a/config/Makefile.freebsd +++ b/config/Makefile.freebsd @@ -1,7 +1,6 @@ NAME = $(GLEW_NAME) CC = cc LD = ld -LDFLAGS.SO = -shared -soname $(LIB.SONAME) LDFLAGS.EXTRA = -L/usr/X11R6/lib LDFLAGS.GL = -lXmu -lXi -lGLU -lGL -lXext -lX11 LDFLAGS.STATIC = -Wl,-Bstatic @@ -15,7 +14,9 @@ LIB.SONAME = lib$(NAME).so.$(SO_MAJOR) LIB.DEVLNK = lib$(NAME).so LIB.SHARED = lib$(NAME).so.$(SO_VERSION) LIB.STATIC = lib$(NAME).a +LDFLAGS.SO = -shared -soname $(LIB.SONAME) LIB.SONAME.MX = lib$(NAME)mx.so.$(SO_MAJOR) LIB.DEVLNK.MX = lib$(NAME)mx.so LIB.SHARED.MX = lib$(NAME)mx.so.$(SO_VERSION) LIB.STATIC.MX = lib$(NAME)mx.a +LDFLAGS.SO.MX = -shared -soname $(LIB.SONAME.MX) diff --git a/config/Makefile.gnu b/config/Makefile.gnu index ac96c1d..01bed30 100644 --- a/config/Makefile.gnu +++ b/config/Makefile.gnu @@ -2,7 +2,6 @@ NAME = $(GLEW_NAME) CC = cc LD = cc PICFLAG = -fPIC -LDFLAGS.SO = -shared -Wl,-soname=$(LIB.SONAME) LDFLAGS.EXTRA = -L/usr/X11R6/lib LDFLAGS.GL = -lXmu -lXi -lGLU -lGL -lXext -lX11 LDFLAGS.STATIC = -Wl,-Bstatic @@ -15,8 +14,10 @@ LIB.SONAME = lib$(NAME).so.$(SO_MAJOR) LIB.DEVLNK = lib$(NAME).so LIB.SHARED = lib$(NAME).so.$(SO_VERSION) LIB.STATIC = lib$(NAME).a +LDFLAGS.SO = -shared -Wl,-soname=$(LIB.SONAME) LIB.SONAME.MX = lib$(NAME)mx.so.$(SO_MAJOR) LIB.DEVLNK.MX = lib$(NAME)mx.so LIB.SHARED.MX = lib$(NAME)mx.so.$(SO_VERSION) LIB.STATIC.MX = lib$(NAME)mx.a +LDFLAGS.SO.MX = -shared -Wl,-soname=$(LIB.SONAME.MX) SHARED_OBJ_EXT = pic_o diff --git a/config/Makefile.irix b/config/Makefile.irix index 0125caf..c165961 100644 --- a/config/Makefile.irix +++ b/config/Makefile.irix @@ -4,7 +4,6 @@ LD = ld ABI = -64# -n32 CC += $(ABI) LD += $(ABI) -LDFLAGS.SO = -shared -soname $(LIB.SONAME) LDFLAGS.EXTRA = LDFLAGS.GL = -lGLU -lGL -lXext -lX11 NAME = GLEW @@ -15,7 +14,9 @@ LIB.SONAME = lib$(NAME).so.$(SO_MAJOR) LIB.DEVLNK = lib$(NAME).so LIB.SHARED = lib$(NAME).so.$(SO_VERSION) LIB.STATIC = lib$(NAME).a +LDFLAGS.SO = -shared -soname $(LIB.SONAME) LIB.SONAME.MX = lib$(NAME)mx.so.$(SO_MAJOR) LIB.DEVLNK.MX = lib$(NAME)mx.so LIB.SHARED.MX = lib$(NAME)mx.so.$(SO_VERSION) LIB.STATIC.MX = lib$(NAME)mx.a +LDFLAGS.SO.MX = -shared -soname $(LIB.SONAME.MX) diff --git a/config/Makefile.kfreebsd b/config/Makefile.kfreebsd index e816776..6dc7030 100644 --- a/config/Makefile.kfreebsd +++ b/config/Makefile.kfreebsd @@ -2,7 +2,6 @@ NAME = $(GLEW_NAME) CC = cc LD = cc PICFLAG = -fPIC -LDFLAGS.SO = -shared -Wl,-soname $(LIB.SONAME) LDFLAGS.EXTRA = -L/usr/X11R6/lib LDFLAGS.GL = -lXmu -lXi -lGLU -lGL -lXext -lX11 LDFLAGS.STATIC = -Wl,-Bstatic @@ -15,8 +14,10 @@ LIB.SONAME = lib$(NAME).so.$(SO_MAJOR) LIB.DEVLNK = lib$(NAME).so LIB.SHARED = lib$(NAME).so.$(SO_VERSION) LIB.STATIC = lib$(NAME).a +LDFLAGS.SO = -shared -Wl,-soname $(LIB.SONAME) LIB.SONAME.MX = lib$(NAME)mx.so.$(SO_MAJOR) LIB.DEVLNK.MX = lib$(NAME)mx.so LIB.SHARED.MX = lib$(NAME)mx.so.$(SO_VERSION) LIB.STATIC.MX = lib$(NAME)mx.a +LDFLAGS.SO.MX = -shared -Wl,-soname $(LIB.SONAME.MX) SHARED_OBJ_EXT = pic_o diff --git a/config/Makefile.linux b/config/Makefile.linux index b33c350..79eb308 100644 --- a/config/Makefile.linux +++ b/config/Makefile.linux @@ -2,7 +2,6 @@ NAME = $(GLEW_NAME) CC = cc LD = cc PICFLAG = -fPIC -LDFLAGS.SO = -shared -Wl,-soname=$(LIB.SONAME) M_ARCH ?= $(shell uname -m) ifeq (x86_64,${M_ARCH}) LDFLAGS.EXTRA = -L/usr/X11R6/lib64 @@ -22,8 +21,10 @@ LIB.SONAME = lib$(NAME).so.$(SO_MAJOR) LIB.DEVLNK = lib$(NAME).so LIB.SHARED = lib$(NAME).so.$(SO_VERSION) LIB.STATIC = lib$(NAME).a +LDFLAGS.SO = -shared -Wl,-soname=$(LIB.SONAME) LIB.SONAME.MX = lib$(NAME)mx.so.$(SO_MAJOR) LIB.DEVLNK.MX = lib$(NAME)mx.so LIB.SHARED.MX = lib$(NAME)mx.so.$(SO_VERSION) LIB.STATIC.MX = lib$(NAME)mx.a +LDFLAGS.SO.MX = -shared -Wl,-soname=$(LIB.SONAME.MX) SHARED_OBJ_EXT = pic_o diff --git a/config/Makefile.linux-mingw32 b/config/Makefile.linux-mingw32 index 6fcec42..ead1ff4 100644 --- a/config/Makefile.linux-mingw32 +++ b/config/Makefile.linux-mingw32 @@ -8,7 +8,6 @@ NAME = glew32 CC = i586-mingw32msvc-gcc LD = i586-mingw32msvc-ld CFLAGS.SO = -DGLEW_BUILD -LDFLAGS.SO = -shared -soname $(LIB.SONAME) --out-implib lib/$(LIB.DEVLNK) LDFLAGS.GL = -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32 WARN = -Wall -W POPT = -O2 @@ -17,7 +16,9 @@ LIB.SONAME = lib$(NAME).dll LIB.DEVLNK = lib$(NAME).dll.a # for mingw this is the dll import lib LIB.SHARED = $(NAME).dll LIB.STATIC = lib$(NAME).a # the static lib will be broken (see CFLAGS.SO) +LDFLAGS.SO = -shared -soname $(LIB.SONAME) --out-implib lib/$(LIB.DEVLNK) LIB.SONAME.MX = lib$(NAME)mx.dll LIB.DEVLNK.MX = lib$(NAME)mx.dll.a # for mingw this is the dll import lib LIB.SHARED.MX = $(NAME)mx.dll LIB.STATIC.MX = lib$(NAME)mx.a # the static lib will be broken (see CFLAGS.SO) +LDFLAGS.SO.MX = -shared -soname $(LIB.SONAME.MX) --out-implib lib/$(LIB.DEVLNK.MX) diff --git a/config/Makefile.linux-mingw64 b/config/Makefile.linux-mingw64 index 028b1d0..f32a882 100644 --- a/config/Makefile.linux-mingw64 +++ b/config/Makefile.linux-mingw64 @@ -8,7 +8,6 @@ NAME = glew32 CC = amd64-mingw32msvc-gcc LD = amd64-mingw32msvc-ld CFLAGS.SO = -DGLEW_BUILD -LDFLAGS.SO = -shared -soname $(LIB.SONAME) --out-implib lib/$(LIB.DEVLNK) LDFLAGS.GL = -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32 WARN = -Wall -W POPT = -O2 @@ -17,7 +16,9 @@ LIB.SONAME = lib$(NAME).dll LIB.DEVLNK = lib$(NAME).dll.a # for mingw this is the dll import lib LIB.SHARED = $(NAME).dll LIB.STATIC = lib$(NAME).a # the static lib will be broken (see CFLAGS.SO) +LDFLAGS.SO = -shared -soname $(LIB.SONAME) --out-implib lib/$(LIB.DEVLNK) LIB.SONAME.MX = lib$(NAME)mx.dll LIB.DEVLNK.MX = lib$(NAME)mx.dll.a # for mingw this is the dll import lib LIB.SHARED.MX = $(NAME)mx.dll LIB.STATIC.MX = lib$(NAME)mx.a # the static lib will be broken (see CFLAGS.SO) +LDFLAGS.SO.MX = -shared -soname $(LIB.SONAME.MX) --out-implib lib/$(LIB.DEVLNK.MX) diff --git a/config/Makefile.mingw b/config/Makefile.mingw index 6c06019..1fbf3f6 100644 --- a/config/Makefile.mingw +++ b/config/Makefile.mingw @@ -3,8 +3,6 @@ CC = gcc # use gcc for linking, with ld it does not work LD = gcc CFLAGS.SO = -DGLEW_BUILD -#LDFLAGS.SO = -shared -soname $(LIB.SONAME) --out-implib lib/$(LIB.DEVLNK) -LDFLAGS.SO = -shared -Wl,-soname,$(LIB.SONAME) -Wl,--out-implib,lib/$(LIB.DEVLNK) LDFLAGS.GL = -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32 LDFLAGS.EXTRA = -L/mingw/lib WARN = -Wall -W @@ -14,7 +12,9 @@ LIB.SONAME = lib$(NAME).dll LIB.DEVLNK = lib$(NAME).dll.a # for mingw this is the dll import lib LIB.SHARED = $(NAME).dll LIB.STATIC = lib$(NAME).a # the static lib will be broken (see CFLAGS.SO) +LDFLAGS.SO = -shared -Wl,-soname,$(LIB.SONAME) -Wl,--out-implib,lib/$(LIB.DEVLNK) LIB.SONAME.MX = lib$(NAME)mx.dll LIB.DEVLNK.MX = lib$(NAME)mx.dll.a # for mingw this is the dll import lib LIB.SHARED.MX = $(NAME)mx.dll LIB.STATIC.MX = lib$(NAME)mx.a # the static lib will be broken (see CFLAGS.SO) +LDFLAGS.SO.MX = -shared -Wl,-soname,$(LIB.SONAME.MX) -Wl,--out-implib,lib/$(LIB.DEVLNK.MX)