Update the GLEW build to build both vanilla and MX GLEW libraries. MX libraries now have mx suffix. Targets for building and installing are changed accordingly. Logic for glewmx.pc

This commit is contained in:
Nigel Stewart 2011-02-18 23:02:26 -06:00
parent 29b1af417a
commit 18455eb40f
14 changed files with 211 additions and 127 deletions

174
Makefile
View File

@ -45,6 +45,7 @@ BINDIR ?= $(GLEW_DEST)/bin
LIBDIR ?= $(GLEW_DEST)/lib LIBDIR ?= $(GLEW_DEST)/lib
INCDIR ?= $(GLEW_DEST)/include/GL INCDIR ?= $(GLEW_DEST)/include/GL
SHARED_OBJ_EXT ?= o SHARED_OBJ_EXT ?= o
TARDIR = ../glew-$(GLEW_VERSION) TARDIR = ../glew-$(GLEW_VERSION)
TARBALL = ../glew-$(GLEW_VERSION).tar.gz TARBALL = ../glew-$(GLEW_VERSION).tar.gz
@ -72,6 +73,9 @@ LIB.SOBJS = $(LIB.SRCS:.c=.$(SHARED_OBJ_EXT))
LIB.LDFLAGS = $(LDFLAGS.EXTRA) $(LDFLAGS.GL) LIB.LDFLAGS = $(LDFLAGS.EXTRA) $(LDFLAGS.GL)
LIB.LIBS = $(GL_LDFLAGS) LIB.LIBS = $(GL_LDFLAGS)
LIB.OBJS.MX = $(LIB.SRCS:.c=.mx.o)
LIB.SOBJS.MX = $(LIB.SRCS:.c=.mx.$(SHARED_OBJ_EXT))
GLEWINFO.BIN = glewinfo$(BIN.SUFFIX) GLEWINFO.BIN = glewinfo$(BIN.SUFFIX)
GLEWINFO.BIN.SRCS = src/glewinfo.c GLEWINFO.BIN.SRCS = src/glewinfo.c
GLEWINFO.BIN.OBJS = $(GLEWINFO.BIN.SRCS:.c=.o) GLEWINFO.BIN.OBJS = $(GLEWINFO.BIN.SRCS:.c=.o)
@ -80,14 +84,18 @@ VISUALINFO.BIN.SRCS = src/visualinfo.c
VISUALINFO.BIN.OBJS = $(VISUALINFO.BIN.SRCS:.c=.o) VISUALINFO.BIN.OBJS = $(VISUALINFO.BIN.SRCS:.c=.o)
BIN.LIBS = -Llib $(LDFLAGS.DYNAMIC) -l$(NAME) $(LDFLAGS.EXTRA) $(LDFLAGS.GL) BIN.LIBS = -Llib $(LDFLAGS.DYNAMIC) -l$(NAME) $(LDFLAGS.EXTRA) $(LDFLAGS.GL)
all debug: lib bin lib/$(LIB.SHARED) lib/$(LIB.STATIC) bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN) glew.pc all debug: glew.lib glew.lib.mx glew.bin
%.o: %.c
$(CC) -c $(CFLAGS) -o $@ $<
# GLEW libraries
glew.lib: lib lib/$(LIB.SHARED) lib/$(LIB.STATIC) glew.pc
lib: lib:
mkdir lib mkdir lib
bin:
mkdir bin
lib/$(LIB.STATIC): $(LIB.OBJS) lib/$(LIB.STATIC): $(LIB.OBJS)
$(AR) cr $@ $^ $(AR) cr $@ $^
@ -99,21 +107,6 @@ else
$(LN) $(LIB.SHARED) lib/$(LIB.DEVLNK) $(LN) $(LIB.SHARED) lib/$(LIB.DEVLNK)
endif endif
bin/$(GLEWINFO.BIN): $(GLEWINFO.BIN.OBJS) lib/$(LIB.SHARED)
$(CC) $(CFLAGS) -o $@ $(GLEWINFO.BIN.OBJS) $(BIN.LIBS)
bin/$(VISUALINFO.BIN): $(VISUALINFO.BIN.OBJS) lib/$(LIB.SHARED)
$(CC) $(CFLAGS) -o $@ $(VISUALINFO.BIN.OBJS) $(BIN.LIBS)
%.o: %.c
$(CC) -c $(CFLAGS) -o $@ $<
src/glew.o: src/glew.c include/GL/glew.h include/GL/wglew.h include/GL/glxew.h
$(CC) $(CFLAGS) $(CFLAGS.SO) -o $@ -c $<
src/glew.pic_o: src/glew.c include/GL/glew.h include/GL/wglew.h include/GL/glxew.h
$(CC) $(CFLAGS) $(PICFLAG) $(CFLAGS.SO) -o $@ -c $<
glew.pc: glew.pc.in glew.pc: glew.pc.in
sed \ sed \
-e "s|@prefix@|$(GLEW_DEST)|g" \ -e "s|@prefix@|$(GLEW_DEST)|g" \
@ -121,14 +114,71 @@ glew.pc: glew.pc.in
-e "s|@exec_prefix@|$(BINDIR)|g" \ -e "s|@exec_prefix@|$(BINDIR)|g" \
-e "s|@includedir@|$(INCDIR)|g" \ -e "s|@includedir@|$(INCDIR)|g" \
-e "s|@version@|$(GLEW_VERSION)|g" \ -e "s|@version@|$(GLEW_VERSION)|g" \
-e "s|@cflags@||g" \
-e "s|@libname@|GLEW|g" \
< $< > $@ < $< > $@
install: all src/glew.o: src/glew.c include/GL/glew.h include/GL/wglew.h include/GL/glxew.h
# directories $(CC) -DGLEW_NO_GLU $(CFLAGS) $(CFLAGS.SO) -o $@ -c $<
$(INSTALL) -d -m 0755 $(BINDIR)
$(INSTALL) -d -m 0755 $(INCDIR) src/glew.pic_o: src/glew.c include/GL/glew.h include/GL/wglew.h include/GL/glxew.h
$(CC) -DGLEW_NO_GLU $(CFLAGS) $(PICFLAG) $(CFLAGS.SO) -o $@ -c $<
# GLEW MX libraries
glew.lib.mx: lib lib/$(LIB.SHARED.MX) lib/$(LIB.STATIC.MX) glewmx.pc
lib/$(LIB.STATIC.MX): $(LIB.OBJS.MX)
$(AR) cr $@ $^
lib/$(LIB.SHARED.MX): $(LIB.SOBJS.MX)
$(LD) $(LDFLAGS.SO) -o $@ $^ $(LIB.LDFLAGS) $(LIB.LIBS)
ifeq ($(filter-out mingw% cygwin,$(SYSTEM)),)
else
$(LN) $(LIB.SHARED.MX) lib/$(LIB.SONAME.MX)
$(LN) $(LIB.SHARED.MX) lib/$(LIB.DEVLNK.MX)
endif
glewmx.pc: glew.pc.in
sed \
-e "s|@prefix@|$(GLEW_DEST)|g" \
-e "s|@libdir@|$(LIBDIR)|g" \
-e "s|@exec_prefix@|$(BINDIR)|g" \
-e "s|@includedir@|$(INCDIR)|g" \
-e "s|@version@|$(GLEW_VERSION)|g" \
-e "s|@cflags@|-DGLEW_MX|g" \
-e "s|@libname@|GLEWmx|g" \
< $< > $@
src/glew.mx.o: src/glew.c include/GL/glew.h include/GL/wglew.h include/GL/glxew.h
$(CC) -DGLEW_NO_GLU -DGLEW_MX $(CFLAGS) $(CFLAGS.SO) -o $@ -c $<
src/glew.mx.pic_o: src/glew.c include/GL/glew.h include/GL/wglew.h include/GL/glxew.h
$(CC) -DGLEW_NO_GLU -DGLEW_MX $(CFLAGS) $(PICFLAG) $(CFLAGS.SO) -o $@ -c $<
# GLEW utilities
bin:
mkdir bin
glew.bin: glew.lib bin bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN)
bin/$(GLEWINFO.BIN): $(GLEWINFO.BIN.OBJS) lib/$(LIB.SHARED)
$(CC) $(CFLAGS) -o $@ $(GLEWINFO.BIN.OBJS) $(BIN.LIBS)
bin/$(VISUALINFO.BIN): $(VISUALINFO.BIN.OBJS) lib/$(LIB.SHARED)
$(CC) $(CFLAGS) -o $@ $(VISUALINFO.BIN.OBJS) $(BIN.LIBS)
# Install targets
install.all: install install.mx install.bin
install: install.include install.lib install.pkgconfig
install.mx: install.include install.lib.mx install.pkgconfig.mx
install.lib: glew.lib
$(INSTALL) -d -m 0755 $(LIBDIR) $(INSTALL) -d -m 0755 $(LIBDIR)
$(INSTALL) -d -m 0755 $(LIBDIR)/pkgconfig
# runtime # runtime
ifeq ($(filter-out mingw% cygwin,$(SYSTEM)),) ifeq ($(filter-out mingw% cygwin,$(SYSTEM)),)
$(STRIP) -x lib/$(LIB.SHARED) $(STRIP) -x lib/$(LIB.SHARED)
@ -139,10 +189,6 @@ else
$(LN) $(LIB.SHARED) $(LIBDIR)/$(LIB.SONAME) $(LN) $(LIB.SHARED) $(LIBDIR)/$(LIB.SONAME)
endif endif
# development files # development files
$(INSTALL) -m 0644 include/GL/wglew.h $(INCDIR)/
$(INSTALL) -m 0644 include/GL/glew.h $(INCDIR)/
$(INSTALL) -m 0644 include/GL/glxew.h $(INCDIR)/
$(INSTALL) -m 0644 glew.pc $(LIBDIR)/pkgconfig/
ifeq ($(filter-out mingw% cygwin,$(SYSTEM)),) ifeq ($(filter-out mingw% cygwin,$(SYSTEM)),)
$(INSTALL) -m 0644 lib/$(LIB.DEVLNK) $(LIBDIR)/ $(INSTALL) -m 0644 lib/$(LIB.DEVLNK) $(LIBDIR)/
else else
@ -150,29 +196,68 @@ else
$(INSTALL) -m 0644 lib/$(LIB.STATIC) $(LIBDIR)/ $(INSTALL) -m 0644 lib/$(LIB.STATIC) $(LIBDIR)/
$(LN) $(LIB.SHARED) $(LIBDIR)/$(LIB.DEVLNK) $(LN) $(LIB.SHARED) $(LIBDIR)/$(LIB.DEVLNK)
endif endif
# utilities
install.lib.mx: glew.lib.mx
$(INSTALL) -d -m 0755 $(LIBDIR)
# runtime
ifeq ($(filter-out mingw% cygwin,$(SYSTEM)),)
$(STRIP) -x lib/$(LIB.SHARED.MX)
$(INSTALL) -m 0644 lib/$(LIB.SHARED.MX) $(BINDIR)/
else
$(STRIP) -x lib/$(LIB.SHARED.MX)
$(INSTALL) -m 0644 lib/$(LIB.SHARED.MX) $(LIBDIR)/
$(LN) $(LIB.SHARED.MX) $(LIBDIR)/$(LIB.SONAME.MX)
endif
# development files
ifeq ($(filter-out mingw% cygwin,$(SYSTEM)),)
$(INSTALL) -m 0644 lib/$(LIB.DEVLNK.MX) $(LIBDIR)/
else
$(STRIP) -x lib/$(LIB.STATIC.MX)
$(INSTALL) -m 0644 lib/$(LIB.STATIC.MX) $(LIBDIR)/
$(LN) $(LIB.SHARED.MX) $(LIBDIR)/$(LIB.DEVLNK.MX)
endif
install.bin: glew.bin
$(INSTALL) -d -m 0755 $(BINDIR)
$(INSTALL) -s -m 0755 bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN) $(BINDIR)/ $(INSTALL) -s -m 0755 bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN) $(BINDIR)/
install.include:
$(INSTALL) -d -m 0755 $(INCDIR)
$(INSTALL) -m 0644 include/GL/wglew.h $(INCDIR)/
$(INSTALL) -m 0644 include/GL/glew.h $(INCDIR)/
$(INSTALL) -m 0644 include/GL/glxew.h $(INCDIR)/
install.pkgconfig: glew.pc
$(INSTALL) -d -m 0755 $(LIBDIR)
$(INSTALL) -d -m 0755 $(LIBDIR)/pkgconfig
$(INSTALL) -m 0644 glew.pc $(LIBDIR)/pkgconfig/
install.pkgconfig.mx: glewmx.pc
$(INSTALL) -d -m 0755 $(LIBDIR)
$(INSTALL) -d -m 0755 $(LIBDIR)/pkgconfig
$(INSTALL) -m 0644 glewmx.pc $(LIBDIR)/pkgconfig/
uninstall: uninstall:
$(RM) $(INCDIR)/wglew.h $(RM) $(INCDIR)/wglew.h
$(RM) $(INCDIR)/glew.h $(RM) $(INCDIR)/glew.h
$(RM) $(INCDIR)/glxew.h $(RM) $(INCDIR)/glxew.h
$(RM) $(LIBDIR)/$(LIB.DEVLNK) $(RM) $(LIBDIR)/$(LIB.DEVLNK) $(LIBDIR)/$(LIB.DEVLNK.MX)
ifeq ($(filter-out mingw% cygwin,$(SYSTEM)),) ifeq ($(filter-out mingw% cygwin,$(SYSTEM)),)
$(RM) $(BINDIR)/$(LIB.SHARED) $(RM) $(BINDIR)/$(LIB.SHARED) $(BINDIR)/$(LIB.SHARED.MX)
else else
$(RM) $(LIBDIR)/$(LIB.SONAME) $(RM) $(LIBDIR)/$(LIB.SONAME) $(LIBDIR)/$(LIB.SONAME.MX)
$(RM) $(LIBDIR)/$(LIB.SHARED) $(RM) $(LIBDIR)/$(LIB.SHARED) $(LIBDIR)/$(LIB.SHARED.MX)
$(RM) $(LIBDIR)/$(LIB.STATIC) $(RM) $(LIBDIR)/$(LIB.STATIC) $(LIBDIR)/$(LIB.STATIC.MX)
endif endif
$(RM) $(BINDIR)/$(GLEWINFO.BIN) $(BINDIR)/$(VISUALINFO.BIN) $(RM) $(BINDIR)/$(GLEWINFO.BIN) $(BINDIR)/$(VISUALINFO.BIN)
clean: clean:
$(RM) $(LIB.OBJS) $(RM) $(LIB.OBJS) $(LIB.OBJS.MX)
$(RM) $(LIB.SOBJS) $(RM) $(LIB.SOBJS) $(LIB.SOBJS.MX)
$(RM) lib/$(LIB.STATIC) lib/$(LIB.SHARED) lib/$(LIB.DEVLNK) lib/$(LIB.SONAME) $(LIB.STATIC) $(RM) lib/$(LIB.STATIC) lib/$(LIB.SHARED) lib/$(LIB.DEVLNK) lib/$(LIB.SONAME) $(LIB.STATIC)
$(RM) lib/$(LIB.STATIC.MX) lib/$(LIB.SHARED.MX) lib/$(LIB.DEVLNK.MX) lib/$(LIB.SONAME.MX) $(LIB.STATIC.MX)
$(RM) $(GLEWINFO.BIN.OBJS) bin/$(GLEWINFO.BIN) $(VISUALINFO.BIN.OBJS) bin/$(VISUALINFO.BIN) $(RM) $(GLEWINFO.BIN.OBJS) bin/$(GLEWINFO.BIN) $(VISUALINFO.BIN.OBJS) bin/$(VISUALINFO.BIN)
$(RM) glew.pc $(RM) glew.pc glewmx.pc
# Compiler droppings # Compiler droppings
$(RM) so_locations $(RM) so_locations
$(RM) -r lib/ bin/ $(RM) -r lib/ bin/
@ -181,18 +266,7 @@ distclean: clean
find . -name \*~ | xargs $(RM) find . -name \*~ | xargs $(RM)
find . -name .\*.sw\? | xargs $(RM) find . -name .\*.sw\? | xargs $(RM)
tardist: # Distributions
$(RM) -r $(TARDIR)
mkdir $(TARDIR)
cp -a . $(TARDIR)
find $(TARDIR) -name CVS -o -name .cvsignore | xargs $(RM) -r
find $(TARDIR) -name .svn | xargs $(RM) -r
find $(TARDIR) -name "*.patch" | xargs $(RM) -r
$(MAKE) -C $(TARDIR) distclean
$(MAKE) -C $(TARDIR)
$(MAKE) -C $(TARDIR) distclean
$(RM) -r $(TARDIR)/auto/registry
env GZIP=-9 tar -C `dirname $(TARDIR)` -cvzf $(TARBALL) `basename $(TARDIR)`
dist-win32: dist-win32:
$(RM) -r $(TARDIR) $(RM) -r $(TARDIR)
@ -233,7 +307,9 @@ dist-src:
cp -a Makefile $(TARDIR) cp -a Makefile $(TARDIR)
cp -a glew.pc.in $(TARDIR) cp -a glew.pc.in $(TARDIR)
find $(TARDIR) -name '*.o' | xargs $(RM) -r find $(TARDIR) -name '*.o' | xargs $(RM) -r
find $(TARDIR) -name '*.mx.o' | xargs $(RM) -r
find $(TARDIR) -name '*.pic_o' | xargs $(RM) -r find $(TARDIR) -name '*.pic_o' | xargs $(RM) -r
find $(TARDIR) -name '*.mx.pic_o' | xargs $(RM) -r
find $(TARDIR) -name '*~' | xargs $(RM) -r find $(TARDIR) -name '*~' | xargs $(RM) -r
find $(TARDIR) -name CVS -o -name .cvsignore | xargs $(RM) -r find $(TARDIR) -name CVS -o -name .cvsignore | xargs $(RM) -r
find $(TARDIR) -name .svn | xargs $(RM) -r find $(TARDIR) -name .svn | xargs $(RM) -r

View File

@ -6,9 +6,6 @@ INCDIR = /usr/include/mingw/GL
CC = gcc -mno-cygwin CC = gcc -mno-cygwin
# use gcc for linking, with ld it does not work # use gcc for linking, with ld it does not work
LD = gcc -mno-cygwin LD = gcc -mno-cygwin
ifneq (undefined, $(origin GLEW_MX))
CFLAGS.EXTRA = -DGLEW_MX
endif
CFLAGS.SO = -DGLEW_BUILD CFLAGS.SO = -DGLEW_BUILD
LDFLAGS.SO = -shared -Wl,-soname,$(LIB.SONAME) -Wl,--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.GL = -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32
@ -16,7 +13,11 @@ LDFLAGS.EXTRA = -L$(LIBDIR)
WARN = -Wall -W WARN = -Wall -W
POPT = -O2 POPT = -O2
BIN.SUFFIX = .exe BIN.SUFFIX = .exe
LIB.SONAME = lib$(NAME).dll LIB.SONAME = lib$(NAME).dll
LIB.DEVLNK = lib$(NAME).dll.a # for mingw this is the dll import lib LIB.DEVLNK = lib$(NAME).dll.a # for mingw this is the dll import lib
LIB.SHARED = $(NAME).dll LIB.SHARED = $(NAME).dll
LIB.STATIC = lib$(NAME).a # the static lib will be broken (see CFLAGS.SO) LIB.STATIC = lib$(NAME).a # the static lib will be broken (see CFLAGS.SO)
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)

View File

@ -3,9 +3,6 @@ GLEW_DEST ?= /usr/X11R6
CC = cc CC = cc
# use gcc for linking, with ld it does not work # use gcc for linking, with ld it does not work
LD = cc LD = cc
ifneq (undefined, $(origin GLEW_MX))
CFLAGS.EXTRA = -DGLEW_MX
endif
LDFLAGS.SO = -shared -Wl,--out-implib,lib/$(LIB.DEVLNK) LDFLAGS.SO = -shared -Wl,--out-implib,lib/$(LIB.DEVLNK)
LDFLAGS.EXTRA = -L/usr/X11R6/lib LDFLAGS.EXTRA = -L/usr/X11R6/lib
LIBDIR = $(GLEW_DEST)/lib LIBDIR = $(GLEW_DEST)/lib

View File

@ -2,9 +2,6 @@ NAME = $(GLEW_NAME)
CC = cc CC = cc
LD = cc LD = cc
CFLAGS.EXTRA = -no-cpp-precomp -dynamic -fno-common CFLAGS.EXTRA = -no-cpp-precomp -dynamic -fno-common
ifneq (undefined, $(origin GLEW_MX))
CFLAGS.EXTRA += -DGLEW_MX
endif
PICFLAG = -fPIC PICFLAG = -fPIC
LDFLAGS.SO = -dynamiclib -install_name $(GLEW_DEST)/lib/$(LIB.SHARED) LDFLAGS.SO = -dynamiclib -install_name $(GLEW_DEST)/lib/$(LIB.SHARED)
LDFLAGS.EXTRA = LDFLAGS.EXTRA =
@ -19,8 +16,12 @@ LDFLAGS.DYNAMIC =
WARN = -Wall -W WARN = -Wall -W
POPT = -O2 POPT = -O2
BIN.SUFFIX = BIN.SUFFIX =
LIB.SONAME = lib$(NAME).$(SO_MAJOR).dylib LIB.SONAME = lib$(NAME).$(SO_MAJOR).dylib
LIB.DEVLNK = lib$(NAME).dylib LIB.DEVLNK = lib$(NAME).dylib
LIB.SHARED = lib$(NAME).$(SO_VERSION).dylib LIB.SHARED = lib$(NAME).$(SO_VERSION).dylib
LIB.STATIC = lib$(NAME).a LIB.STATIC = lib$(NAME).a
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
SHARED_OBJ_EXT = pic_o SHARED_OBJ_EXT = pic_o

View File

@ -1,9 +1,6 @@
NAME = $(GLEW_NAME) NAME = $(GLEW_NAME)
CC = cc CC = cc
LD = ld LD = ld
ifneq (undefined, $(origin GLEW_MX))
CFLAGS.EXTRA = -DGLEW_MX
endif
LDFLAGS.SO = -shared -soname $(LIB.SONAME) LDFLAGS.SO = -shared -soname $(LIB.SONAME)
LDFLAGS.EXTRA = -L/usr/X11R6/lib LDFLAGS.EXTRA = -L/usr/X11R6/lib
LDFLAGS.GL = -lXmu -lXi -lGLU -lGL -lXext -lX11 LDFLAGS.GL = -lXmu -lXi -lGLU -lGL -lXext -lX11
@ -14,7 +11,11 @@ NAME = GLEW
WARN = -Wall -W WARN = -Wall -W
POPT = -O2 POPT = -O2
BIN.SUFFIX = BIN.SUFFIX =
LIB.SONAME = lib$(NAME).so.$(SO_MAJOR) LIB.SONAME = lib$(NAME).so.$(SO_MAJOR)
LIB.DEVLNK = lib$(NAME).so LIB.DEVLNK = lib$(NAME).so
LIB.SHARED = lib$(NAME).so.$(SO_VERSION) LIB.SHARED = lib$(NAME).so.$(SO_VERSION)
LIB.STATIC = lib$(NAME).a LIB.STATIC = lib$(NAME).a
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

View File

@ -1,9 +1,6 @@
NAME = $(GLEW_NAME) NAME = $(GLEW_NAME)
CC = cc CC = cc
LD = cc LD = cc
ifneq (undefined, $(origin GLEW_MX))
CFLAGS.EXTRA = -DGLEW_MX
endif
PICFLAG = -fPIC PICFLAG = -fPIC
LDFLAGS.SO = -shared -Wl,-soname=$(LIB.SONAME) LDFLAGS.SO = -shared -Wl,-soname=$(LIB.SONAME)
LDFLAGS.EXTRA = -L/usr/X11R6/lib LDFLAGS.EXTRA = -L/usr/X11R6/lib
@ -14,8 +11,12 @@ NAME = GLEW
WARN = -Wall -W WARN = -Wall -W
POPT = -O2 POPT = -O2
BIN.SUFFIX = BIN.SUFFIX =
LIB.SONAME = lib$(NAME).so.$(SO_MAJOR) LIB.SONAME = lib$(NAME).so.$(SO_MAJOR)
LIB.DEVLNK = lib$(NAME).so LIB.DEVLNK = lib$(NAME).so
LIB.SHARED = lib$(NAME).so.$(SO_VERSION) LIB.SHARED = lib$(NAME).so.$(SO_VERSION)
LIB.STATIC = lib$(NAME).a LIB.STATIC = lib$(NAME).a
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
SHARED_OBJ_EXT = pic_o SHARED_OBJ_EXT = pic_o

View File

@ -4,9 +4,6 @@ LD = ld
ABI = -64# -n32 ABI = -64# -n32
CC += $(ABI) CC += $(ABI)
LD += $(ABI) LD += $(ABI)
ifneq (undefined, $(origin GLEW_MX))
CFLAGS.EXTRA = -DGLEW_MX
endif
LDFLAGS.SO = -shared -soname $(LIB.SONAME) LDFLAGS.SO = -shared -soname $(LIB.SONAME)
LDFLAGS.EXTRA = LDFLAGS.EXTRA =
LDFLAGS.GL = -lGLU -lGL -lXext -lX11 LDFLAGS.GL = -lGLU -lGL -lXext -lX11
@ -14,7 +11,11 @@ NAME = GLEW
WARN = -fullwarn -woff 1110,1498 WARN = -fullwarn -woff 1110,1498
POPT = -O2 -OPT:Olimit=0 POPT = -O2 -OPT:Olimit=0
BIN.SUFFIX = BIN.SUFFIX =
LIB.SONAME = lib$(NAME).so.$(SO_MAJOR) LIB.SONAME = lib$(NAME).so.$(SO_MAJOR)
LIB.DEVLNK = lib$(NAME).so LIB.DEVLNK = lib$(NAME).so
LIB.SHARED = lib$(NAME).so.$(SO_VERSION) LIB.SHARED = lib$(NAME).so.$(SO_VERSION)
LIB.STATIC = lib$(NAME).a LIB.STATIC = lib$(NAME).a
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

View File

@ -1,9 +1,6 @@
NAME = $(GLEW_NAME) NAME = $(GLEW_NAME)
CC = cc CC = cc
LD = cc LD = cc
ifneq (undefined, $(origin GLEW_MX))
CFLAGS.EXTRA = -DGLEW_MX
endif
PICFLAG = -fPIC PICFLAG = -fPIC
LDFLAGS.SO = -shared -Wl,-soname $(LIB.SONAME) LDFLAGS.SO = -shared -Wl,-soname $(LIB.SONAME)
LDFLAGS.EXTRA = -L/usr/X11R6/lib LDFLAGS.EXTRA = -L/usr/X11R6/lib
@ -14,8 +11,12 @@ NAME = GLEW
WARN = -Wall -W WARN = -Wall -W
POPT = -O2 POPT = -O2
BIN.SUFFIX = BIN.SUFFIX =
LIB.SONAME = lib$(NAME).so.$(SO_MAJOR) LIB.SONAME = lib$(NAME).so.$(SO_MAJOR)
LIB.DEVLNK = lib$(NAME).so LIB.DEVLNK = lib$(NAME).so
LIB.SHARED = lib$(NAME).so.$(SO_VERSION) LIB.SHARED = lib$(NAME).so.$(SO_VERSION)
LIB.STATIC = lib$(NAME).a LIB.STATIC = lib$(NAME).a
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
SHARED_OBJ_EXT = pic_o SHARED_OBJ_EXT = pic_o

View File

@ -1,9 +1,6 @@
NAME = $(GLEW_NAME) NAME = $(GLEW_NAME)
CC = cc CC = cc
LD = cc LD = cc
ifneq (undefined, $(origin GLEW_MX))
CFLAGS.EXTRA = -DGLEW_MX
endif
PICFLAG = -fPIC PICFLAG = -fPIC
LDFLAGS.SO = -shared -Wl,-soname=$(LIB.SONAME) LDFLAGS.SO = -shared -Wl,-soname=$(LIB.SONAME)
M_ARCH ?= $(shell uname -m) M_ARCH ?= $(shell uname -m)
@ -25,4 +22,8 @@ LIB.SONAME = lib$(NAME).so.$(SO_MAJOR)
LIB.DEVLNK = lib$(NAME).so LIB.DEVLNK = lib$(NAME).so
LIB.SHARED = lib$(NAME).so.$(SO_VERSION) LIB.SHARED = lib$(NAME).so.$(SO_VERSION)
LIB.STATIC = lib$(NAME).a LIB.STATIC = lib$(NAME).a
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
SHARED_OBJ_EXT = pic_o SHARED_OBJ_EXT = pic_o

View File

@ -7,16 +7,17 @@
NAME = glew32 NAME = glew32
CC = i586-mingw32msvc-gcc CC = i586-mingw32msvc-gcc
LD = i586-mingw32msvc-ld LD = i586-mingw32msvc-ld
ifneq (undefined, $(origin GLEW_MX))
CFLAGS.EXTRA = -DGLEW_MX
endif
CFLAGS.SO = -DGLEW_BUILD CFLAGS.SO = -DGLEW_BUILD
LDFLAGS.SO = -shared -soname $(LIB.SONAME) --out-implib lib/$(LIB.DEVLNK) LDFLAGS.SO = -shared -soname $(LIB.SONAME) --out-implib lib/$(LIB.DEVLNK)
LDFLAGS.GL = -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32 LDFLAGS.GL = -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32
WARN = -Wall -W WARN = -Wall -W
POPT = -O2 POPT = -O2
BIN.SUFFIX = .exe BIN.SUFFIX = .exe
LIB.SONAME = lib$(NAME).dll LIB.SONAME = lib$(NAME).dll
LIB.DEVLNK = lib$(NAME).dll.a # for mingw this is the dll import lib LIB.DEVLNK = lib$(NAME).dll.a # for mingw this is the dll import lib
LIB.SHARED = $(NAME).dll LIB.SHARED = $(NAME).dll
LIB.STATIC = lib$(NAME).a # the static lib will be broken (see CFLAGS.SO) LIB.STATIC = lib$(NAME).a # the static lib will be broken (see CFLAGS.SO)
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)

View File

@ -7,16 +7,17 @@
NAME = glew32 NAME = glew32
CC = amd64-mingw32msvc-gcc CC = amd64-mingw32msvc-gcc
LD = amd64-mingw32msvc-ld LD = amd64-mingw32msvc-ld
ifneq (undefined, $(origin GLEW_MX))
CFLAGS.EXTRA = -DGLEW_MX
endif
CFLAGS.SO = -DGLEW_BUILD CFLAGS.SO = -DGLEW_BUILD
LDFLAGS.SO = -shared -soname $(LIB.SONAME) --out-implib lib/$(LIB.DEVLNK) LDFLAGS.SO = -shared -soname $(LIB.SONAME) --out-implib lib/$(LIB.DEVLNK)
LDFLAGS.GL = -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32 LDFLAGS.GL = -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32
WARN = -Wall -W WARN = -Wall -W
POPT = -O2 POPT = -O2
BIN.SUFFIX = .exe BIN.SUFFIX = .exe
LIB.SONAME = lib$(NAME).dll LIB.SONAME = lib$(NAME).dll
LIB.DEVLNK = lib$(NAME).dll.a # for mingw this is the dll import lib LIB.DEVLNK = lib$(NAME).dll.a # for mingw this is the dll import lib
LIB.SHARED = $(NAME).dll LIB.SHARED = $(NAME).dll
LIB.STATIC = lib$(NAME).a # the static lib will be broken (see CFLAGS.SO) LIB.STATIC = lib$(NAME).a # the static lib will be broken (see CFLAGS.SO)
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)

View File

@ -2,9 +2,6 @@ NAME = glew32
CC = gcc CC = gcc
# use gcc for linking, with ld it does not work # use gcc for linking, with ld it does not work
LD = gcc LD = gcc
ifneq (undefined, $(origin GLEW_MX))
CFLAGS.EXTRA = -DGLEW_MX
endif
CFLAGS.SO = -DGLEW_BUILD CFLAGS.SO = -DGLEW_BUILD
#LDFLAGS.SO = -shared -soname $(LIB.SONAME) --out-implib lib/$(LIB.DEVLNK) #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.SO = -shared -Wl,-soname,$(LIB.SONAME) -Wl,--out-implib,lib/$(LIB.DEVLNK)
@ -13,7 +10,11 @@ LDFLAGS.EXTRA = -L/mingw/lib
WARN = -Wall -W WARN = -Wall -W
POPT = -O2 POPT = -O2
BIN.SUFFIX = .exe BIN.SUFFIX = .exe
LIB.SONAME = lib$(NAME).dll LIB.SONAME = lib$(NAME).dll
LIB.DEVLNK = lib$(NAME).dll.a # for mingw this is the dll import lib LIB.DEVLNK = lib$(NAME).dll.a # for mingw this is the dll import lib
LIB.SHARED = $(NAME).dll LIB.SHARED = $(NAME).dll
LIB.STATIC = lib$(NAME).a # the static lib will be broken (see CFLAGS.SO) LIB.STATIC = lib$(NAME).a # the static lib will be broken (see CFLAGS.SO)
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)

View File

@ -2,16 +2,17 @@ NAME = $(GLEW_NAME)
CC = cc CC = cc
LD = ld LD = ld
CFLAGS.EXTRA = -I/usr/openwin/include CFLAGS.EXTRA = -I/usr/openwin/include
ifneq (undefined, $(origin GLEW_MX))
CFLAGS.EXTRA += -DGLEW_MX
endif
LDFLAGS.SO = -G LDFLAGS.SO = -G
LDFLAGS.EXTRA = -L/usr/openwin/lib LDFLAGS.EXTRA = -L/usr/openwin/lib
LDFLAGS.GL = -lXmu -lXi -lGLU -lGL -lXext -lX11 LDFLAGS.GL = -lXmu -lXi -lGLU -lGL -lXext -lX11
NAME = GLEW NAME = GLEW
BIN.SUFFIX = BIN.SUFFIX =
POPT = -xO2 POPT = -xO2
LIB.SONAME = lib$(NAME).so.$(SO_MAJOR) LIB.SONAME = lib$(NAME).so.$(SO_MAJOR)
LIB.DEVLNK = lib$(NAME).so LIB.DEVLNK = lib$(NAME).so
LIB.SHARED = lib$(NAME).so.$(SO_VERSION) LIB.SHARED = lib$(NAME).so.$(SO_VERSION)
LIB.STATIC = lib$(NAME).a LIB.STATIC = lib$(NAME).a
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

View File

@ -6,5 +6,5 @@ includedir=@includedir@
Name: glew Name: glew
Description: The OpenGL Extension Wrangler library Description: The OpenGL Extension Wrangler library
Version: @version@ Version: @version@
Cflags: -I${includedir} Cflags: -I${includedir} @cflags@
Libs: -L${libdir} -lGLEW Libs: -L${libdir} -l@libname@