From 4193457bf4d2f8191203a0c179afaff40b3776ff Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Mon, 6 Apr 2020 05:55:54 +0200 Subject: [PATCH 1/4] build: Make installation prefix configurable Nix uses different prefix so we need it configurable. --- Makefile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index ea0b60e..271e5e4 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,8 @@ KFVER=131 +PREFIX ?= /usr/local +LIBDIR ?= $(PREFIX)/lib + ifeq ($(shell uname -s),Darwin) SHARED := -Wl,-install_name,libkissfft.dylib -o libkissfft.dylib else @@ -12,7 +15,7 @@ all: gcc -shared $(SHARED) kiss_fft.o install: all - cp libkissfft.so /usr/local/lib/ + cp libkissfft.so $(LIBDIR) doc: @echo "Start by reading the README file. If you want to build and test lots of stuff, do a 'make testall'" From fffc26e89a44bbf6876e52496364e708110678e2 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Mon, 6 Apr 2020 06:03:06 +0200 Subject: [PATCH 2/4] build: Fix make install on Darwin --- Makefile | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 271e5e4..9398ac1 100644 --- a/Makefile +++ b/Makefile @@ -4,18 +4,20 @@ PREFIX ?= /usr/local LIBDIR ?= $(PREFIX)/lib ifeq ($(shell uname -s),Darwin) - SHARED := -Wl,-install_name,libkissfft.dylib -o libkissfft.dylib + SHARED_NAME := libkissfft.dylib + SHARED_FLAGS := -Wl,-install_name,$(SHARED_NAME) else - SHARED := -Wl,-soname,libkissfft.so -o libkissfft.so + SHARED_NAME := libkissfft.so + SHARED_FLAGS := -Wl,-soname,$(SHARED_NAME) endif all: gcc -Wall -fPIC -c *.c -Dkiss_fft_scalar=float -o kiss_fft.o ar crus libkissfft.a kiss_fft.o - gcc -shared $(SHARED) kiss_fft.o + gcc -shared $(SHARED_FLAGS) -o $(SHARED_NAME) kiss_fft.o install: all - cp libkissfft.so $(LIBDIR) + cp $(SHARED_NAME) $(LIBDIR) doc: @echo "Start by reading the README file. If you want to build and test lots of stuff, do a 'make testall'" From 1d7e76e0af18bb124ac10ddea9b10c00d2532430 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Mon, 6 Apr 2020 07:32:55 +0200 Subject: [PATCH 3/4] build: Use install command for installing files In build chroots of some package managers, the libdir does not exist yet so we need to create it. --- Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 9398ac1..77ede20 100644 --- a/Makefile +++ b/Makefile @@ -3,6 +3,8 @@ KFVER=131 PREFIX ?= /usr/local LIBDIR ?= $(PREFIX)/lib +INSTALL ?= install + ifeq ($(shell uname -s),Darwin) SHARED_NAME := libkissfft.dylib SHARED_FLAGS := -Wl,-install_name,$(SHARED_NAME) @@ -17,7 +19,7 @@ all: gcc -shared $(SHARED_FLAGS) -o $(SHARED_NAME) kiss_fft.o install: all - cp $(SHARED_NAME) $(LIBDIR) + $(INSTALL) -Dt $(LIBDIR) $(SHARED_NAME) doc: @echo "Start by reading the README file. If you want to build and test lots of stuff, do a 'make testall'" From b39de321ca5f3707ac4cd756e2fb4377709cd418 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Mon, 6 Apr 2020 08:04:19 +0200 Subject: [PATCH 4/4] build: Make datatype configurable --- Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 77ede20..bcc44fa 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,7 @@ KFVER=131 +DATATYPE ?= float + PREFIX ?= /usr/local LIBDIR ?= $(PREFIX)/lib @@ -14,7 +16,7 @@ else endif all: - gcc -Wall -fPIC -c *.c -Dkiss_fft_scalar=float -o kiss_fft.o + gcc -Wall -fPIC -c *.c -Dkiss_fft_scalar=$(DATATYPE) -o kiss_fft.o ar crus libkissfft.a kiss_fft.o gcc -shared $(SHARED_FLAGS) -o $(SHARED_NAME) kiss_fft.o