]> git.cworth.org Git - fips/blobdiff - Makefile.local
configure: Test whether compiler can create both 32 and 64-bit binaries
[fips] / Makefile.local
index 3dd793271a02ae49775e8181d853ba534f439c46..179700ee8da9bceff4062acdf93eb00fc4ba7a6f 100644 (file)
@@ -8,8 +8,18 @@ FINAL_FIPS_LDFLAGS = $(LDFLAGS) $(AS_NEEDED_LDFLAGS) $(CONFIGURE_LDFLAGS)
 FINAL_LIBFIPS_LDFLAGS = $(LDFLAGS) $(CONFIGURE_LDFLAGS) -ldl
 FINAL_FIPS_LINKER = CC
 
+ALL_TARGETS = fips
+
+ifeq ($(COMPILER_SUPPORTS_32),Yes)
+ALL_TARGETS += libfips-32.so
+endif
+
+ifeq ($(COMPILER_SUPPORTS_64),Yes)
+ALL_TARGETS += libfips-64.so
+endif
+
 .PHONY: all
-all: fips libfips-64.so libfips-32.so
+all: $(ALL_TARGETS)
 
 ifeq ($(MAKECMDGOALS),)
 ifeq ($(shell cat .first-build-message 2>/dev/null),)
@@ -75,22 +85,32 @@ fips: $(fips_modules)
        $(call quiet,$(FINAL_FIPS_LINKER) $(CFLAGS)) $(FINAL_CFLAGS) $^ $(FINAL_FIPS_LDFLAGS) -o $@
 
 # GL-wrapper library, libfips
-LIBRARY_LINK_FLAGS = -shared -Wl,--version-script=libfips.sym,--no-undefined
+LIBRARY_LINK_FLAGS = -shared -Wl,--version-script=libfips.sym
 
 extra_cflags += -I$(srcdir) -fPIC
 
 libfips_srcs = \
-       glxwrap.c
+       dlwrap.c \
+       glwrap.c \
+       glxwrap.c \
+       metrics.c
+
+ifeq ($(HAVE_EGL),Yes)
+libfips_srcs += eglwrap.c
+endif
+
+libfips.sym: extract-wrapped-symbols $(libfips_srcs)
+       $(call quiet,extract-wrapped-symbols) ./extract-wrapped-symbols $(libfips_srcs) > $@
 
 libfips_32_modules = $(libfips_srcs:.c=-32.o)
 
 libfips_64_modules = $(libfips_srcs:.c=-64.o)
 
 libfips-32.so: $(libfips_32_modules) libfips.sym
-       $(call quiet,$(FINAL_FIPS_LINKER) $(CFLAGS) -m32) $(FINAL_CFLAGS) -m32 $(libfips_32_modules) $(FINAL_LIBFIPS_LDFLAGS) $(LIBRARY_LINK_FLAGS) -o $@
+       $(call quiet,$(FINAL_FIPS_LINKER) $(CFLAGS) -m32) -o $@ $(FINAL_CFLAGS) -m32 $(libfips_32_modules)  $(LIBRARY_LINK_FLAGS) $(FINAL_LIBFIPS_LDFLAGS)
 
 libfips-64.so: $(libfips_64_modules) libfips.sym
-       $(call quiet,$(FINAL_FIPS_LINKER) $(CFLAGS) -m64) $(FINAL_CFLAGS) -m64 $(libfips_64_modules) $(FINAL_LIBFIPS_LDFLAGS) $(LIBRARY_LINK_FLAGS) -o $@
+       $(call quiet,$(FINAL_FIPS_LINKER) $(CFLAGS) -m64) -o $@ $(FINAL_CFLAGS) -m64 $(libfips_64_modules) $(LIBRARY_LINK_FLAGS) $(FINAL_LIBFIPS_LDFLAGS)
 
 .PHONY: install
 install: all
@@ -106,7 +126,7 @@ ifeq ($(MAKECMDGOALS), install)
 endif
 
 SRCS  := $(SRCS) $(fips_srcs) $(libfips_srcs)
-CLEAN := $(CLEAN) fips $(fips_modules) $(libfips_32_modules) $(libfips_64_modules)
+CLEAN := $(CLEAN) fips $(fips_modules) $(libfips_32_modules) $(libfips_64_modules) libfips.sym
 
 DISTCLEAN := $(DISTCLEAN) .first-build-message Makefile.config