11CC  := $(shell  command -v clang 2>/dev/null || command -v $(CC )  2>/dev/null || echo cc) 
2- CFLAGS  = -DDEBUG -Wall -Werror
3- LDFLAGS  = -lsecp256k1 -lsodium
2+ 
3+ CFLAGS  = -Wall -Werror
4+ ifdef  DEBUG 
5+     CFLAGS  += -g -DDEBUG
6+ else
7+     CFLAGS  += -O2
8+ endif 
9+ 
10+ LDCONFIG  := ldconfig
11+ INSTALL_PREFIX  := /usr/local
12+ 
13+ UNAME_S  := $(shell  uname -s) 
14+ 
15+ #  Set default paths
16+ STD_INCLUDE_PATHS  := /usr/local/include
17+ STD_LIB_PATHS  := /usr/local/lib
18+ 
19+ #  Add Homebrew paths for macOS
20+ ifeq  ($(UNAME_S ) ,Darwin)
21+     UNAME_MACHINE  := $(shell  uname -m) 
22+ 	LDCONFIG := test 1
23+     ifeq ($(UNAME_MACHINE),arm64)
24+         BREW_PREFIX  := /opt/homebrew
25+     else
26+         BREW_PREFIX  := /usr/local
27+     endif
28+     INCLUDE_PATHS  := $(BREW_PREFIX ) /include $(STD_INCLUDE_PATHS ) 
29+     LIB_PATHS  := $(BREW_PREFIX ) /lib $(STD_LIB_PATHS ) 
30+ else 
31+     INCLUDE_PATHS  := $(STD_INCLUDE_PATHS ) 
32+     LIB_PATHS  := $(STD_LIB_PATHS ) 
33+ endif 
34+ 
35+ #  Convert paths to compiler flags
36+ CFLAGS  += $(foreach  path,$(INCLUDE_PATHS ) ,-I$(path ) ) 
37+ LDFLAGS  += $(foreach  path,$(LIB_PATHS ) ,-L$(path ) )  -lsecp256k1 -lsodium
438
539all : libbip32.so
640	$(CC )  $(CFLAGS )  -o bip32-cli cli.c libbip32.so $(LDFLAGS ) 
@@ -22,9 +56,9 @@ fuzz: fuzz_target
2256
2357.PHONY : install
2458install : libbip32.so
25- 	install -m755 libbip32.so /usr/local /lib/
26- 	install -m755 bip32.h /usr/local /include/
27- 	ldconfig 
59+ 	install -m755 libbip32.so $( INSTALL_PREFIX ) 
60+ 	install -m755 bip32.h $( INSTALL_PREFIX ) 
61+ 	$( LDCONFIG ) 
2862
2963.PHONY : clean
3064clean :
0 commit comments