2 EXEC_PREFIX ?= $(PREFIX)
3 LIBDIR ?= $(PREFIX)/lib64
4 DATADIR ?= $(PREFIX)/share
5 MANDIR ?= $(DATADIR)/man
6 INCLUDEDIR ?= $(PREFIX)/include
7 BINDIR ?= $(EXEC_PREFIX)/bin
8 PCDIR ?= $(LIBDIR)/pkgconfig
14 PKG_CONFIG = $(shell if [ -e "$$(env $(CROSS_COMPILE)pkg-config 2>&1)" ]; then echo $(CROSS_COMPILE)pkg-config ; else echo pkg-config ; fi)
16 CC := $(if $(filter default,$(origin CC)),$(CROSS_COMPILE)$(COMPILER),$(CC))
17 CCLD_FOR_BUILD ?= $(CC_FOR_BUILD)
18 CCLD := $(if $(filter undefined,$(origin CCLD)),$(CC),$(CCLD))
20 CFLAGS ?= $(OPTIMIZE) -g3
24 AR := $(CROSS_COMPILE)$(COMPILER)-ar
25 NM := $(CROSS_COMPILE)$(COMPILER)-nm
26 RANLIB := $(CROSS_COMPILE)$(COMPILER)-ranlib
32 clang_cflags = -D_GNU_SOURCE -std=gnu11 -Wno-address-of-packed-member
33 gcc_cflags = -specs=$(TOPDIR)/gcc.specs
34 cflags = $(CFLAGS) -I${TOPDIR}/src/include/ \
35 $(if $(findstring clang,$(CC)),$(clang_cflags),) \
36 $(if $(findstring ccc-analyzer,$(CC)),$(clang_cflags),) \
37 $(if $(findstring gcc,$(CC)),$(gcc_cflags),) \
38 $(call pkg-config-cflags)
41 ccldflags = $(cflags) -L. $(CCLDFLAGS) $(LDFLAGS) \
43 $(if $(findstring clang,$(CCLD)),$(clang_ccldflags),) \
44 $(if $(findstring ccc-analyzer,$(CCLD)),$(clang_ccldflags),) \
45 $(if $(findstring gcc,$(CCLD)),$(gcc_ccldflags),) \
46 $(call pkg-config-ldflags)
48 LDLIBS=$(foreach lib,$(LIBS),-l$(lib)) $(call pkg-config-ldlibs)
50 COMMIT_ID=$(shell git log -1 --pretty=%H 2>/dev/null || echo master)