]> git.cworth.org Git - glaze/blobdiff - Makefile
Fix loose ends in build support.
[glaze] / Makefile
index 0984ce30cf19e99a4f3d2549d30535ddaa7b39f9..bcc26295946192a9e20e339fe20e703793580fe7 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -28,6 +28,10 @@ LIBGLAZE_32_LINKER_NAME = libglaze-32.so
 LIBGLAZE_32_SONAME = $(LIBGLAZE_32_LINKER_NAME).$(MAJOR)
 LIBGLAZE_32_LIBNAME = $(LIBGLAZE_32_SONAME).$(MINOR).$(RELEASE)
 
+TARGETS = glaze $(LIBGLAZE_LINKER_NAME)
+
+SPECS = specs/gl.def specs/glx.def
+
 ifeq ($(COMPILER_SUPPORTS_32),Yes)
 TARGETS += $(LIBGLAZE_32_LIBNAME)
 TARGETS += $(LIB32_DIR)/libGL.so.1
@@ -44,17 +48,23 @@ 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 $@ $<
+glaze: glaze.c $(LIBGLAZE_LINKER_NAME)
+       $(CC) $(GLAZE_CFLAGS) -I. -L. -o $@ $< -ldl -lglaze
+
+$(LIBGLAZE_32_LIBNAME): libglaze.c
+       $(CC) $(GLAZE_CFLAGS) -m32 -fPIC -shared -Wl,--version-script=libglaze.sym,-soname=$(LIBGLAZE_SONAME) -ldl -ltalloc -o $@ $<
 
-$(LIBGLAZE_LIBNAME): glaze.c
-       $(CC) $(GLAZE_CFLAGS) -m64 -fPIC -shared -Wl,-Bsymbolic,-soname=$(LIBGLAZE_SONAME) -ldl -ltalloc -o $@ $<
+$(LIBGLAZE_LIBNAME): libglaze.c
+       $(CC) $(GLAZE_CFLAGS) -m64 -fPIC -shared -Wl,--version-script=libglaze.sym,-soname=$(LIBGLAZE_SONAME) -ldl -ltalloc -o $@ $<
 
-$(LIB64_DIR)/libGL.so.1: glaze-gl.c
+$(LIBGLAZE_LINKER_NAME): $(LIBGLAZE_LIBNAME)
+       ln -sf $(LIBGLAZE_LIBNAME) $@
+
+$(LIB64_DIR)/libGL.so.1: glaze-gl.c $(SPECS)
        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
+$(LIB32_DIR)/libGL.so.1: glaze-gl.c $(SPECS)
        mkdir -p $(LIB32_DIR)
        $(CC) $(GLAZE_CFLAGS) -DGLAZE_BITS=32 -m32 -fPIC -shared -Wl,-Bsymbolic -o $@ $<
 
@@ -70,6 +80,7 @@ install: all
        install -m0644 glaze.h $(DESTDIR)$(INCLUDEDIR)/glaze
        mkdir -p $(DESTDIR)$(BINDIR)
        mkdir -p $(DESTDIR)$(LIBDIR)/pkgconfig
+       install -m0755 glaze $(DESTDIR)$(BINDIR)
 ifeq ($(COMPILER_SUPPORTS_32),Yes)
        mkdir -p $(DESTDIR)$(LIBDIR)/glaze/$(LIB32_DIR)
        install -m0644 $(LIB32_DIR)/libGL.so.1 $(DESTDIR)$(LIBDIR)/glaze/$(LIB32_DIR)
@@ -93,3 +104,10 @@ endif
 
 clean:
        rm -f $(TARGETS)
+
+distclean: clean
+       rm Makefile.config glaze.pc glaze-32.pc config.h
+
+.PHONY: check-syntax
+check-syntax:
+       $(CC) $(CFLAGS) -Wall -Wextra -fsyntax-only $(CHK_SOURCES)