From 421f3f981e67cf787b0d88a069ea8f9c634caf70 Mon Sep 17 00:00:00 2001 From: Sami Samhuri Date: Sun, 16 Jan 2022 00:24:26 -0800 Subject: [PATCH] Improve portability of Makefile --- .gitignore | 2 ++ Makefile | 10 +++++----- dependency-dir | 17 +++++++++++++++++ 3 files changed, 24 insertions(+), 5 deletions(-) create mode 100644 .gitignore create mode 100755 dependency-dir diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1b5294f --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +*.o +a1 diff --git a/Makefile b/Makefile index 1716472..2673d9b 100644 --- a/Makefile +++ b/Makefile @@ -1,13 +1,13 @@ CFLAGS = -Wall -g -CPPFLAGS = -I/usr/local/opt/readline/include -LDFLAGS = -L/usr/local/opt/readline/lib +CPPFLAGS = -I$(shell ./dependency-dir)/readline/include +LDFLAGS = -L$(shell ./dependency-dir)/readline/lib OBJS = utils.o builtins.o exec.o jobs.o main.o -all: a1 +all: a1 a1: $(OBJS) $(CC) $(CFLAGS) -o a1 $(OBJS) $(LDFLAGS) -lreadline -lhistory -ltermcap -clean: - rm -rf $(OBJS) a1 +clean: + rm -rf $(OBJS) a1 diff --git a/dependency-dir b/dependency-dir new file mode 100755 index 0000000..144a292 --- /dev/null +++ b/dependency-dir @@ -0,0 +1,17 @@ +#!/bin/sh + +if [[ $(uname -s) = Darwin ]]; then + if command -v brew >/dev/null 2>/dev/null; then + echo $(brew --prefix)/opt + elif [[ -x /opt/homebrew/bin/brew ]]; then + echo $(/opt/homebrew/bin/brew -- prefix)/opt + elif [[ -x $HOME/homebrew/bin/brew ]]; then + echo $($HOME/homebrew/bin/brew --prefix)/opt + elif [[ -x /usr/local/bin/brew ]]; then + echo $(/usr/local/bin/brew --prefix)/opt + else + echo /usr/local + fi +else + echo /usr +fi