aboutsummaryrefslogtreecommitdiffhomepage
path: root/debian
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2016-09-28 09:28:09 -0700
committerSean Whitton <spwhitton@spwhitton.name>2016-09-28 09:28:09 -0700
commitf8a4843b3a8b42a50b80c3c06adbab6a7f05cbc5 (patch)
tree7b95cecb8ca8adc45807c88cc2a8cfe08f7a0943 /debian
parent8247e2b541056191d4376805d66af6a71bc7470f (diff)
downloadzxcvbn-c-f8a4843b3a8b42a50b80c3c06adbab6a7f05cbc5.tar.gz
standardise makefile variables
Diffstat (limited to 'debian')
-rw-r--r--debian/patches/series1
-rw-r--r--debian/patches/standardise-makefile-variables.patch113
2 files changed, 114 insertions, 0 deletions
diff --git a/debian/patches/series b/debian/patches/series
index 9cac71f..0447f38 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
patch-README-for-Debian.patch
add-another-missing-file-to-clean-target.patch
+standardise-makefile-variables.patch
diff --git a/debian/patches/standardise-makefile-variables.patch b/debian/patches/standardise-makefile-variables.patch
new file mode 100644
index 0000000..7ce8f11
--- /dev/null
+++ b/debian/patches/standardise-makefile-variables.patch
@@ -0,0 +1,113 @@
+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
+---
+ 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