]> git.cworth.org Git - glaze/blobdiff - Makefile
Add a simple helper program to find libGL.so.1
[glaze] / Makefile
index 02465438e283872f5d114a419cc9401ba0b23ca3..7630a1869a026b398784e5f6bd6c4c7e36ad643c 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -24,7 +24,17 @@ LIBGLAZE_LINKER_NAME = libglaze.so
 LIBGLAZE_SONAME = $(LIBGLAZE_LINKER_NAME).$(MAJOR)
 LIBGLAZE_LIBNAME = $(LIBGLAZE_SONAME).$(MINOR).$(RELEASE)
 
-TARGETS = $(LIBGLAZE_LIBNAME) lib64/libGL.so.1 lib32/libGL.so.1
+TARGETS = $(LIBGLAZE_LIBNAME)
+
+ifeq ($(COMPILER_SUPPORTS_32),Yes)
+TARGETS += $(LIB32_DIR)/libGL.so.1
+TARGETS += glaze-find-libgl-32
+endif
+
+ifeq ($(COMPILER_SUPPORTS_64),Yes)
+TARGETS += $(LIB64_DIR)/libGL.so.1
+TARGETS += glaze-find-libgl-64
+endif
 
 all: $(TARGETS)
 
@@ -33,20 +43,26 @@ GLAZE_CFLAGS = $(CFLAGS) $(WARN_CFLAGS)
 $(LIBGLAZE_LIBNAME): glaze.c
        $(CC) $(GLAZE_CFLAGS) -fPIC -shared -Wl,-Bsymbolic,-soname=$(LIBGLAZE_SONAME) -ldl -o $@ $<
 
-lib64/libGL.so.1: glaze-gl.c glapi.def
-       mkdir -p lib64
+$(LIB64_DIR)/libGL.so.1: glaze-gl.c glapi.def
+       mkdir -p $(LIB64_DIR)
        $(CC) $(GLAZE_CFLAGS) -m64 -fPIC -shared -Wl,-Bsymbolic -o $@ $<
 
-lib32/libGL.so.1: glaze-gl.c specs/gl.def
-       mkdir -p lib32
+$(LIB32_DIR)/libGL.so.1: glaze-gl.c specs/gl.def
+       mkdir -p $(LIB32_DIR)
        $(CC) $(GLAZE_CFLAGS) -m32 -fPIC -shared -Wl,-Bsymbolic -o $@ $<
 
+glaze-find-libgl-32: glaze-find-libgl.c
+       $(CC) $(GLAZE_CFLAGS) -m32 -fPIC -ldl -o $@ $<
+
+glaze-find-libgl-64: glaze-find-libgl.c
+       $(CC) $(GLAZE_CFLAGS) -m64 -fPIC -ldl -o $@ $<
+
 .PHONY: install
 install: all
-       mkdir -p $(DESTDIR)$(LIBDIR)/glaze/lib64
-       install -m0644 lib64/libGL.so.1 $(DESTDIR)$(LIBDIR)/glaze/lib64
-       mkdir -p $(DESTDIR)$(LIBDIR)/glaze/lib32
-       install -m0644 lib32/libGL.so.1 $(DESTDIR)$(LIBDIR)/glaze/lib32
+       mkdir -p $(DESTDIR)$(LIBDIR)/glaze/$(LIB64_DIR)
+       install -m0644 $(LIB64_DIR)/libGL.so.1 $(DESTDIR)$(LIBDIR)/glaze/$(LIB64_DIR)
+       mkdir -p $(DESTDIR)$(LIBDIR)/glaze/$(LIB32_DIR)
+       install -m0644 $(LIB32_DIR)/libGL.so.1 $(DESTDIR)$(LIBDIR)/glaze/$(LIB32_DIR)
        install -m0644 $(LIBGLAZE_LIBNAME) $(DESTDIR)$(LIBDIR)
        ln -sf $(LIBGLAZE_LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBGLAZE_SONAME)
        ln -sf $(LIBGLAZE_LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBGLAZE_LINKER_NAME)
@@ -54,6 +70,13 @@ install: all
        install glaze.pc $(DESTDIR)$(LIBDIR)/pkgconfig
        mkdir -p $(DESTDIR)$(INCLUDEDIR)/glaze
        install -m0644 glaze.h $(DESTDIR)$(INCLUDEDIR)/glaze
+       mkdir -p $(DESTDIR)$(BINDIR)
+ifeq ($(COMPILER_SUPPORTS_32),Yes)
+       install -m0755 glaze-find-libgl-32 $(DESTDIR)$(BINDIR)
+endif
+ifeq ($(COMPILER_SUPPORTS_64),Yes)
+       install -m0755 glaze-find-libgl-64 $(DESTDIR)$(BINDIR)
+endif
 
 clean:
        rm -f $(TARGETS)