diff --git a/Makefile b/Makefile index 8d2e7679d..a3aa2a397 100644 --- a/Makefile +++ b/Makefile @@ -35,11 +35,17 @@ CXXFLAGS = -Wall -Wextra -ggdb -I"$(shell pwd)" -MD -DYOSYS_SRC='"$(shell pwd)"' LDFLAGS = -L${DESTDIR}/lib LDLIBS = -lstdc++ -lm SED = sed +BISON = bison ifeq (Darwin,$(findstring Darwin,$(shell uname))) - # add macports include and library path to search directories, don't use '-rdynamic' and '-lrt': - CXXFLAGS += -I/opt/local/include - LDFLAGS += -L/opt/local/lib + # add macports/homebrew include and library path to search directories, don't use '-rdynamic' and '-lrt': + CXXFLAGS += -I/opt/local/include -I/usr/local/opt/readline/include + LDFLAGS += -L/opt/local/lib -L/usr/local/opt/readline/lib + # add homebrew's libffi include and library path + CXXFLAGS += $(shell PKG_CONFIG_PATH=$$(brew list libffi | grep pkgconfig | xargs dirname) pkg-config --silence-errors --cflags libffi) + LDFLAGS += $(shell PKG_CONFIG_PATH=$$(brew list libffi | grep pkgconfig | xargs dirname) pkg-config --silence-errors --libs libffi) + # use bison installed by homebrew if available + BISON = $(shell (brew list bison | grep -m1 "bin/bison") || echo bison) SED = gsed else LDFLAGS += -rdynamic diff --git a/frontends/ilang/Makefile.inc b/frontends/ilang/Makefile.inc index 984d436c6..c15e2cc47 100644 --- a/frontends/ilang/Makefile.inc +++ b/frontends/ilang/Makefile.inc @@ -5,7 +5,7 @@ GENFILES += frontends/ilang/ilang_parser.output GENFILES += frontends/ilang/ilang_lexer.cc frontends/ilang/ilang_parser.tab.cc: frontends/ilang/ilang_parser.y - $(P) bison -d -r all -b frontends/ilang/ilang_parser frontends/ilang/ilang_parser.y + $(P) $(BISON) -d -r all -b frontends/ilang/ilang_parser frontends/ilang/ilang_parser.y $(Q) mv frontends/ilang/ilang_parser.tab.c frontends/ilang/ilang_parser.tab.cc frontends/ilang/ilang_parser.tab.h: frontends/ilang/ilang_parser.tab.cc diff --git a/frontends/verilog/Makefile.inc b/frontends/verilog/Makefile.inc index 1b6854bb5..92cbd0b87 100644 --- a/frontends/verilog/Makefile.inc +++ b/frontends/verilog/Makefile.inc @@ -5,7 +5,7 @@ GENFILES += frontends/verilog/verilog_parser.output GENFILES += frontends/verilog/verilog_lexer.cc frontends/verilog/verilog_parser.tab.cc: frontends/verilog/verilog_parser.y - $(P) bison -d -r all -b frontends/verilog/verilog_parser frontends/verilog/verilog_parser.y + $(P) $(BISON) -d -r all -b frontends/verilog/verilog_parser frontends/verilog/verilog_parser.y $(Q) mv frontends/verilog/verilog_parser.tab.c frontends/verilog/verilog_parser.tab.cc frontends/verilog/verilog_parser.tab.h: frontends/verilog/verilog_parser.tab.cc