blob: bf5374ee90cde3a0c4e6e54233cf70d0ba1a147b [file] [log] [blame]
From: Jakub Jirutka <jakub@jirutka.cz>
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 \