From: Jakub Jirutka Fix Makefile to respect system CFLAGS, LDFLAGS, and CC provided by environment. Allow to specify pkg-config command using variable, to be friendly with cross-compiling etc. diff --git a/Makefile b/Makefile index 195ef6b..375fb65 100644 --- a/Makefile +++ b/Makefile @@ -2,9 +2,10 @@ T=openssl PREFIX ?=/usr/local LIB_OPTION ?= -shared +PKG_CONFIG ?= pkg-config #Lua auto detect -LUA_VERSION ?= $(shell pkg-config luajit --print-provides) +LUA_VERSION ?= $(shell $(PKG_CONFIG) luajit --print-provides) ifeq ($(LUA_VERSION),) ############ Not use luajit LUAV ?= $(shell lua -e "_,_,v=string.find(_VERSION,'Lua (.+)');print(v)") LUA_CFLAGS ?= -I$(PREFIX)/include/lua$(LUAV) @@ -12,8 +13,8 @@ LUA_LIBS ?= -L$(PREFIX)/lib LUA_LIBDIR ?= $(PREFIX)/lib/lua/$(LUAV) else LUAV ?= $(shell lua -e "_,_,v=string.find(_VERSION,'Lua (.+)');print(v)") -LUA_CFLAGS ?= $(shell pkg-config luajit --cflags) -LUA_LIBS ?= $(shell pkg-config luajit --libs) +LUA_CFLAGS ?= $(shell $(PKG_CONFIG) luajit --cflags) +LUA_LIBS ?= $(shell $(PKG_CONFIG) luajit --libs) LUA_LIBDIR ?= $(PREFIX)/lib/lua/$(LUAV) endif @@ -22,30 +23,30 @@ SYS := $(shell gcc -dumpmachine) ifneq (, $(findstring linux, $(SYS))) # Do linux things -LDFLAGS = -fPIC -lrt -ldl -OPENSSL_LIBS ?= $(shell pkg-config openssl --libs) -OPENSSL_CFLAGS ?= $(shell pkg-config openssl --cflags) -CFLAGS = -fPIC $(OPENSSL_CFLAGS) $(LUA_CFLAGS) +LDFLAGS += -fPIC -lrt -ldl +OPENSSL_LIBS ?= $(shell $(PKG_CONFIG) openssl --libs) +OPENSSL_CFLAGS ?= $(shell $(PKG_CONFIG) openssl --cflags) +CFLAGS += -fPIC $(OPENSSL_CFLAGS) $(LUA_CFLAGS) endif ifneq (, $(findstring apple, $(SYS))) # Do darwin things -LDFLAGS = -fPIC -lrt -ldl -OPENSSL_LIBS ?= $(shell pkg-config openssl --libs) -OPENSSL_CFLAGS ?= $(shell pkg-config openssl --cflags) -CFLAGS = -fPIC $(OPENSSL_CFLAGS) $(LUA_CFLAGS) +LDFLAGS += -fPIC -lrt -ldl +OPENSSL_LIBS ?= $(shell $(PKG_CONFIG) openssl --libs) +OPENSSL_CFLAGS ?= $(shell $(PKG_CONFIG) openssl --cflags) +CFLAGS += -fPIC $(OPENSSL_CFLAGS) $(LUA_CFLAGS) endif ifneq (, $(findstring mingw, $(SYS))) # Do mingw things V = $(shell lua -e "v=string.gsub('$(LUAV)','%.','');print(v)") -LDFLAGS = -mwindows -lcrypt32 -lssl -lcrypto -lws2_32 $(PREFIX)/bin/lua$(V).dll +LDFLAGS += -mwindows -lcrypt32 -lssl -lcrypto -lws2_32 $(PREFIX)/bin/lua$(V).dll LUA_CFLAGS = -DLUA_LIB -DLUA_BUILD_AS_DLL -I$(PREFIX)/include/ -CFLAGS = $(OPENSSL_CFLAGS) $(LUA_CFLAGS) +CFLAGS += $(OPENSSL_CFLAGS) $(LUA_CFLAGS) endif ifneq (, $(findstring cygwin, $(SYS))) # Do cygwin things -OPENSSL_LIBS ?= $(shell pkg-config openssl --libs) -OPENSSL_CFLAGS ?= $(shell pkg-config openssl --cflags) -CFLAGS = -fPIC $(OPENSSL_CFLAGS) $(LUA_CFLAGS) +OPENSSL_LIBS ?= $(shell $(PKG_CONFIG) openssl --libs) +OPENSSL_CFLAGS ?= $(shell $(PKG_CONFIG) openssl --cflags) +CFLAGS += -fPIC $(OPENSSL_CFLAGS) $(LUA_CFLAGS) endif #custome config ifeq (.config, $(wildcard .config)) @@ -61,7 +62,7 @@ WARN_MOST = -Wall -W -Waggregate-return -Wcast-align -Wmissing-prototypes -Wnest WARN = -Wall -Wno-unused-value WARN_MIN = CFLAGS += $(WARN_MIN) -DPTHREADS -CC= gcc -g $(CFLAGS) -Ideps +CC ?= gcc -g $(CFLAGS) -Ideps OBJS=src/asn1.o src/auxiliar.o src/bio.o src/cipher.o src/cms.o src/compat.o src/crl.o src/csr.o src/dh.o src/digest.o src/dsa.o \