diff options
Diffstat (limited to 'patches/standardise-makefile-variables.patch')
-rw-r--r-- | patches/standardise-makefile-variables.patch | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/patches/standardise-makefile-variables.patch b/patches/standardise-makefile-variables.patch new file mode 100644 index 0000000..b3e48ed --- /dev/null +++ b/patches/standardise-makefile-variables.patch @@ -0,0 +1,117 @@ +From: Sean Whitton <spwhitton@spwhitton.name> +Date: Wed, 28 Sep 2016 09:07:03 -0700 +Subject: standardise-makefile-variables + +- use $(LDFLAGS) close to end of command to avoid build failures with + linker option --as-needed + +- use $(CC), $(AR), $(CXX) to the user can choose their own compiler + +- use $(CPPFLAGS), $(CFLAGS) and $(CXXFLAGS) are they are intended + +- correct CPPFLAGS -> CXXFLAGS at top of file + +Forwarded: https://github.com/tsyrogit/zxcvbn-c/pull/10 +--- + makefile | 45 +++++++++++++++++++++++++++++---------------- + 1 file changed, 29 insertions(+), 16 deletions(-) + +diff --git a/makefile b/makefile +index adf3c9b..c45c33f 100644 +--- a/makefile ++++ b/makefile +@@ -1,8 +1,12 @@ + CFLAGS ?= -O2 -Wall -Wextra -Wdeclaration-after-statement +-CPPFLAGS ?= -O2 -Wall -Wextra ++CXXFLAGS ?= -O2 -Wall -Wextra ++ ++# default programs ++CC ?= gcc ++AR ?= ar ++CXX ?= g++ + + # need zxcvbn.h prior to package installation +-CFLAGS += -I. + CPPFLAGS += -I. + + # library metadata +@@ -15,32 +19,36 @@ all: test-file test-inline test-c++inline test-c++file test-shlib test-statlib + + test-shlib: test.c $(TARGET_LIB) + if [ ! -e libzxcvbn.so ]; then ln -s $(TARGET_LIB) libzxcvbn.so; fi +- gcc $(CFLAGS) -o $@ $< -L. -lzxcvbn -lm ++ $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $< -L. $(LDFLAGS) -lzxcvbn -lm + + $(TARGET_LIB): zxcvbn-inline-pic.o +- gcc $(CFLAGS) $(LDFLAGS) -fPIC -shared -Wl,-soname,$(SONAME) -o $@ $^ -lm ++ $(CC) $(CPPFLAGS) $(CFLAGS) \ ++ -o $@ $^ -fPIC -shared -Wl,-soname,$(SONAME) $(LDFLAGS) -lm + if [ ! -e $(SONAME) ]; then ln -s $(TARGET_LIB) $(SONAME); fi + + test-statlib: test.c libzxcvbn.a +- gcc $(CFLAGS) $(LDFLAGS) -o $@ $^ -lm ++ $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $^ $(LDFLAGS) -lm + + libzxcvbn.a: zxcvbn-inline.o +- ar cvq $@ $^ ++ $(AR) cvq $@ $^ + + test-file: test.c zxcvbn-file.o +- gcc $(CFLAGS) -DUSE_DICT_FILE -o test-file test.c zxcvbn-file.o -lm ++ $(CC) $(CPPFLAGS) $(CFLAGS) \ ++ -DUSE_DICT_FILE -o test-file test.c zxcvbn-file.o $(LDFLAGS) -lm + + zxcvbn-file.o: zxcvbn.c dict-crc.h zxcvbn.h +- gcc $(CFLAGS) -DUSE_DICT_FILE -c -o zxcvbn-file.o zxcvbn.c ++ $(CC) $(CPPFLAGS) $(CFLAGS) \ ++ -DUSE_DICT_FILE -c -o zxcvbn-file.o zxcvbn.c + + test-inline: test.c zxcvbn-inline.o +- gcc $(CFLAGS) -o test-inline test.c zxcvbn-inline.o -lm ++ $(CC) $(CPPFLAGS) $(CFLAGS) \ ++ -o test-inline test.c zxcvbn-inline.o $(LDFLAGS) -lm + + zxcvbn-inline-pic.o: zxcvbn.c dict-src.h zxcvbn.h +- gcc $(CFLAGS) -fPIC -c -o $@ $< ++ $(CC) $(CPPFLAGS) $(CFLAGS) -fPIC -c -o $@ $< + + zxcvbn-inline.o: zxcvbn.c dict-src.h zxcvbn.h +- gcc $(CFLAGS) -c -o zxcvbn-inline.o zxcvbn.c ++ $(CC) $(CPPFLAGS) $(CFLAGS) -c -o zxcvbn-inline.o zxcvbn.c + + dict-src.h: dictgen $(WORDS) + ./dictgen -o dict-src.h $(WORDS) +@@ -49,23 +57,28 @@ dict-crc.h: dictgen $(WORDS) + ./dictgen -b -o zxcvbn.dict -h dict-crc.h $(WORDS) + + dictgen: dict-generate.cpp makefile +- g++ -std=c++11 $(CPPFLAGS) -o dictgen dict-generate.cpp ++ $(CXX) $(CPPFLAGS) -std=c++11 $(CXXFLAGS) \ ++ -o dictgen dict-generate.cpp $(LDFLAGS) + + test-c++inline: test.c zxcvbn-c++inline.o + if [ ! -e test.cpp ]; then ln -s test.c test.cpp; fi +- g++ $(CPPFLAGS) -o test-c++inline test.cpp zxcvbn-c++inline.o -lm ++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) \ ++ -o test-c++inline test.cpp zxcvbn-c++inline.o $(LDFLAGS) -lm + + zxcvbn-c++inline.o: zxcvbn.c dict-src.h zxcvbn.h + if [ ! -e zxcvbn.cpp ]; then ln -s zxcvbn.c zxcvbn.cpp; fi +- g++ $(CPPFLAGS) -c -o zxcvbn-c++inline.o zxcvbn.cpp ++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) \ ++ -c -o zxcvbn-c++inline.o zxcvbn.cpp + + test-c++file: test.c zxcvbn-c++file.o + if [ ! -e test.cpp ]; then ln -s test.c test.cpp; fi +- g++ $(CPPFLAGS) -DUSE_DICT_FILE -o test-c++file test.cpp zxcvbn-c++file.o -lm ++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) \ ++ -DUSE_DICT_FILE -o test-c++file test.cpp zxcvbn-c++file.o $(LDFLAGS) -lm + + zxcvbn-c++file.o: zxcvbn.c dict-crc.h zxcvbn.h + if [ ! -e zxcvbn.cpp ]; then ln -s zxcvbn.c zxcvbn.cpp; fi +- g++ $(CPPFLAGS) -DUSE_DICT_FILE -c -o zxcvbn-c++file.o zxcvbn.cpp ++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) \ ++ -DUSE_DICT_FILE -c -o zxcvbn-c++file.o zxcvbn.cpp + + test: test-file test-inline test-c++inline test-c++file test-shlib test-statlib testcases.txt + @echo Testing C build, dictionary from file |