2 libdir ?= $(prefix)/lib64/
3 datadir ?= $(prefix)/share/
4 mandir ?= $(datadir)/man/
5 includedir ?= $(prefix)/include/
6 bindir ?= $(prefix)/bin/
7 PCDIR ?= $(libdir)/pkgconfig/
13 PKG_CONFIG = $(shell if [ -e "$$(env $(CROSS_COMPILE)pkg-config 2>&1)" ]; then echo $(CROSS_COMPILE)pkg-config ; else echo pkg-config ; fi)
14 CC := $(if $(filter default,$(origin CC)),$(CROSS_COMPILE)$(COMPILER),$(CC))
15 CCLD := $(if $(filter undefined,$(origin CCLD)),$(CC),$(CCLD))
17 CFLAGS ?= $(OPTIMIZE) -g3
21 AR := $(CROSS_COMPILE)$(COMPILER)-ar
22 NM := $(CROSS_COMPILE)$(COMPILER)-nm
23 RANLIB := $(CROSS_COMPILE)$(COMPILER)-ranlib
29 clang_cflags = -D_GNU_SOURCE -Wno-address-of-packed-member
30 gcc_cflags = -specs=$(TOPDIR)/gcc.specs
31 cflags = $(CFLAGS) -std=c11 -I${TOPDIR}/src/include/ \
32 $(if $(findstring clang,$(CC)),$(clang_cflags),) \
33 $(if $(findstring gcc,$(CC)),$(gcc_cflags),) \
34 $(call pkg-config-cflags)
37 ccldflags = $(cflags) -L. $(CCLDFLAGS) $(LDFLAGS) \
39 $(if $(findstring clang,$(CCLD)),$(clang_ccldflags),) \
40 $(if $(findstring gcc,$(CCLD)),$(gcc_ccldflags),) \
41 $(call pkg-config-ccldflags)
43 LDLIBS=$(foreach lib,$(LIBS),-l$(lib)) $(call pkg-config-ldlibs)
45 COMMIT_ID=$(shell git log -1 --pretty=%H 2>/dev/null || echo master)