X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=Makefile;h=0984ce30cf19e99a4f3d2549d30535ddaa7b39f9;hb=acb1372fca12d1df8bead92eb2ab16dbc98b9c6c;hp=3ccb7fa3d94772a059b42f0510e0085aea86e7f8;hpb=0b190cc8fbca0f970eadd8c0f1d5792c41f71cf6;p=glaze diff --git a/Makefile b/Makefile index 3ccb7fa..0984ce3 100644 --- a/Makefile +++ b/Makefile @@ -1,35 +1,4 @@ -LIBGLAZE_VERSION_MAJOR = 0 -LIBGLAZE_VERSION_MINOR = 0 -LIBGLAZE_VERSION_RELEASE = 0 - -LIBGLAZE_LINKER_NAME = libglaze.so -LIBGLAZE_SONAME = $(LIBGLAZE_LINKER_NAME).$(LIBGLAZE_VERSION_MAJOR) -LIBGLAZE_LIBNAME = $(LIBGLAZE_SONAME).$(LIBGLAZE_VERSION_MINOR).$(LIBGLAZE_VERSION_RELEASE) - -TARGETS = lib64/libGL.so.1 lib32/libGL.so.1 - -all: $(TARGETS) - -$(LIBGLAZE_LIBNAME): glaze.c - $(CC) $(CFLAGS) -fPIC -shared -Wl,-Bsymbolic,-soname=$(LIBGLAZE_SONAME) -o $@ $< - -lib64/libGL.so.1: glaze-gl.c glapi.def - mkdir -p lib64 - $(CC) $(CFLAGS) -m64 -fPIC -shared -Wl,-Bsymbolic -o $@ $< - -lib32/libGL.so.1: glaze-gl.c specs/gl.def - mkdir -p lib32 - $(CC) $(CFLAGS) -m32 -fPIC -shared -Wl,-Bsymbolic -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 - -clean: - rm -f $(TARGETS) +all: # Get settings from the output of configure by running it to generate # Makefile.config if it doesn't exist yet. @@ -50,3 +19,77 @@ ifeq ($(configure_options),) @echo "" endif $(srcdir)/configure $(configure_options) + +LIBGLAZE_LINKER_NAME = libglaze.so +LIBGLAZE_SONAME = $(LIBGLAZE_LINKER_NAME).$(MAJOR) +LIBGLAZE_LIBNAME = $(LIBGLAZE_SONAME).$(MINOR).$(RELEASE) + +LIBGLAZE_32_LINKER_NAME = libglaze-32.so +LIBGLAZE_32_SONAME = $(LIBGLAZE_32_LINKER_NAME).$(MAJOR) +LIBGLAZE_32_LIBNAME = $(LIBGLAZE_32_SONAME).$(MINOR).$(RELEASE) + +ifeq ($(COMPILER_SUPPORTS_32),Yes) +TARGETS += $(LIBGLAZE_32_LIBNAME) +TARGETS += $(LIB32_DIR)/libGL.so.1 +TARGETS += glaze-find-libgl-32 +endif + +ifeq ($(COMPILER_SUPPORTS_64),Yes) +TARGETS += $(LIBGLAZE_LIBNAME) +TARGETS += $(LIB64_DIR)/libGL.so.1 +TARGETS += glaze-find-libgl-64 +endif + +all: $(TARGETS) + +GLAZE_CFLAGS = $(CFLAGS) $(WARN_CFLAGS) + +$(LIBGLAZE_32_LIBNAME): glaze.c + $(CC) $(GLAZE_CFLAGS) -m32 -fPIC -shared -Wl,-Bsymbolic,-soname=$(LIBGLAZE_SONAME) -ldl -ltalloc -o $@ $< + +$(LIBGLAZE_LIBNAME): glaze.c + $(CC) $(GLAZE_CFLAGS) -m64 -fPIC -shared -Wl,-Bsymbolic,-soname=$(LIBGLAZE_SONAME) -ldl -ltalloc -o $@ $< + +$(LIB64_DIR)/libGL.so.1: glaze-gl.c + mkdir -p $(LIB64_DIR) + $(CC) $(GLAZE_CFLAGS) -DGLAZE_BITS=64 -m64 -fPIC -shared -Wl,-Bsymbolic -o $@ $< + +$(LIB32_DIR)/libGL.so.1: glaze-gl.c specs/gl.def + mkdir -p $(LIB32_DIR) + $(CC) $(GLAZE_CFLAGS) -DGLAZE_BITS=32 -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)$(INCLUDEDIR)/glaze + install -m0644 glaze.h $(DESTDIR)$(INCLUDEDIR)/glaze + mkdir -p $(DESTDIR)$(BINDIR) + mkdir -p $(DESTDIR)$(LIBDIR)/pkgconfig +ifeq ($(COMPILER_SUPPORTS_32),Yes) + mkdir -p $(DESTDIR)$(LIBDIR)/glaze/$(LIB32_DIR) + install -m0644 $(LIB32_DIR)/libGL.so.1 $(DESTDIR)$(LIBDIR)/glaze/$(LIB32_DIR) + ln -sf libGL.so.1 $(DESTDIR)$(LIBDIR)/glaze/$(LIB32_DIR)/libGL.so + install -m0644 $(LIBGLAZE_32_LIBNAME) $(DESTDIR)$(LIBDIR) + ln -sf $(LIBGLAZE_32_LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBGLAZE_32_SONAME) + ln -sf $(LIBGLAZE_32_LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBGLAZE_32_LINKER_NAME) + install glaze-32.pc $(DESTDIR)$(LIBDIR)/pkgconfig + install -m0755 glaze-find-libgl-32 $(DESTDIR)$(BINDIR) +endif +ifeq ($(COMPILER_SUPPORTS_64),Yes) + mkdir -p $(DESTDIR)$(LIBDIR)/glaze/$(LIB64_DIR) + install -m0644 $(LIB64_DIR)/libGL.so.1 $(DESTDIR)$(LIBDIR)/glaze/$(LIB64_DIR) + ln -sf libGL.so.1 $(DESTDIR)$(LIBDIR)/glaze/$(LIB64_DIR)/libGL.so + install -m0644 $(LIBGLAZE_LIBNAME) $(DESTDIR)$(LIBDIR) + ln -sf $(LIBGLAZE_LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBGLAZE_SONAME) + ln -sf $(LIBGLAZE_LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBGLAZE_LINKER_NAME) + install glaze.pc $(DESTDIR)$(LIBDIR)/pkgconfig + install -m0755 glaze-find-libgl-64 $(DESTDIR)$(BINDIR) +endif + +clean: + rm -f $(TARGETS)