OSDN Git Service

Make ccc-analyzer get clang cflags
[android-x86/external-efivar.git] / Make.defaults
index 6899773..57cee6e 100644 (file)
@@ -1,27 +1,54 @@
+PREFIX ?= /usr
+EXEC_PREFIX ?= $(PREFIX)
+LIBDIR ?= $(PREFIX)/lib64
+DATADIR        ?= $(PREFIX)/share
+MANDIR ?= $(DATADIR)/man
+INCLUDEDIR ?= $(PREFIX)/include
+BINDIR ?= $(EXEC_PREFIX)/bin
+PCDIR  ?= $(LIBDIR)/pkgconfig
+DESTDIR        ?=
+
 INSTALL ?= install
-libdir ?= /usr/lib64/
-mandir ?= /usr/share/man/
-includedir     ?= /usr/include/
-bindir ?= /usr/bin/
-PCDIR  ?= $(libdir)/pkgconfig/
-CC     := $(if $(filter default,$(origin CC)),gcc,$(CC))
+CROSS_COMPILE  ?=
+COMPILER ?= gcc
+PKG_CONFIG = $(shell if [ -e "$$(env $(CROSS_COMPILE)pkg-config 2>&1)" ]; then echo $(CROSS_COMPILE)pkg-config ; else echo pkg-config ; fi)
+CC_FOR_BUILD   ?= cc
+CC     := $(if $(filter default,$(origin CC)),$(CROSS_COMPILE)$(COMPILER),$(CC))
+CCLD_FOR_BUILD ?= $(CC_FOR_BUILD)
 CCLD   := $(if $(filter undefined,$(origin CCLD)),$(CC),$(CCLD))
-CFLAGS ?= -O0 -g
+OPTIMIZE ?= -O2 -flto
+CFLAGS ?= $(OPTIMIZE) -g3
+CFLAGS := $(CFLAGS)
+LDFLAGS ?=
+LDFLAGS := $(LDFLAGS)
+AR     := $(CROSS_COMPILE)$(COMPILER)-ar
+NM     := $(CROSS_COMPILE)$(COMPILER)-nm
+RANLIB := $(CROSS_COMPILE)$(COMPILER)-ranlib
+ABIDW  := abidw
+ABIDIFF := abidiff
+
+PKGS   =
 
-ARCH = $(shell uname -m)
-clang_cflags =
-gcc_cflags = -Wmaybe-uninitialized
-cflags := $(CFLAGS) \
-       -Wall -Wsign-compare -std=gnu11 -fshort-wchar -fPIC \
-       -fvisibility=hidden \
-       -D_GNU_SOURCE -I${TOPDIR}/src/include/efivar/ \
-       $(if $(filter $(CC),clang),$(clang_cflags),) \
-       $(if $(filter $(CC),gcc),$(gcc_cflags),)
+clang_cflags = -D_GNU_SOURCE -std=gnu11 -Wno-address-of-packed-member
+gcc_cflags = -specs=$(TOPDIR)/gcc.specs
+cflags = $(CFLAGS) -I${TOPDIR}/src/include/ \
+       $(if $(findstring clang,$(CC)),$(clang_cflags),) \
+       $(if $(findstring ccc-analyzer,$(CC)),$(clang_cflags),) \
+       $(if $(findstring gcc,$(CC)),$(gcc_cflags),) \
+       $(call pkg-config-cflags)
 clang_ccldflags =
-gcc_ccldflags = -fno-merge-constants
-ccldflags := $(cflags) $(CCLDFLAGS) $(LDFLAGS) \
-       $(if $(filter $(CCLD),clang),$(clang_ccldflags),) \
-       $(if $(filter $(CCLD),gcc),$(gcc_ccldflags),)
-LIBFLAGS += -shared
+gcc_ccldflags =
+ccldflags = $(cflags) -L. $(CCLDFLAGS) $(LDFLAGS) \
+       -Wl,-z,muldefs \
+       $(if $(findstring clang,$(CCLD)),$(clang_ccldflags),) \
+       $(if $(findstring ccc-analyzer,$(CCLD)),$(clang_ccldflags),) \
+       $(if $(findstring gcc,$(CCLD)),$(gcc_ccldflags),) \
+       $(call pkg-config-ldflags)
+SOFLAGS=-shared
+LDLIBS=$(foreach lib,$(LIBS),-l$(lib)) $(call pkg-config-ldlibs)
+
+COMMIT_ID=$(shell git log -1 --pretty=%H 2>/dev/null || echo master)
+
+NAME=efivar
 
-SONAME_VERSION := 0
+# vim:ft=make