瀏覽代碼

Merge pull request #344 from rindeal/make

do build configuration with variables instead of targets
master
Mischievous Meerkat GitHub 5 年之前
父節點
當前提交
0125684d3f
沒有發現已知的金鑰在資料庫的簽署中 GPG 金鑰 ID: 4AEE18F83AFDEB23
共有 2 個檔案被更改,包括 38 行新增10 行删除
  1. +37
    -9
      Makefile
  2. +1
    -1
      README.md

+ 37
- 9
Makefile 查看文件

@@ -9,6 +9,38 @@ CP ?= cp

CFLAGS_OPTIMIZATION ?= -O3

O_DEBUG := 0
O_NORL := 0 # no readline support
O_NOLOC := 0 # no locale support

# convert targets to flags for backwards compatibility
ifeq ($(MAKECMDGOALS),debug)
O_DEBUG := 1
endif
ifeq ($(MAKECMDGOALS),norl)
O_NORL := 1
endif
ifeq ($(MAKECMDGOALS),noloc)
O_NORL := 1
O_NOLOC := 1
endif

ifeq ($(O_DEBUG),1)
CPPFLAGS += -DDBGMODE
CFLAGS += -g
LDLIBS += -lrt
endif

ifeq ($(O_NORL),1)
CPPFLAGS += -DNORL
else
LDLIBS += -lreadline
endif

ifeq ($(O_NOLOC),1)
CPPFLAGS += -DNOLOCALE
endif

ifeq ($(shell $(PKG_CONFIG) ncursesw && echo 1),1)
CFLAGS_CURSES ?= $(shell $(PKG_CONFIG) --cflags ncursesw)
LDLIBS_CURSES ?= $(shell $(PKG_CONFIG) --libs ncursesw)
@@ -34,16 +66,12 @@ all: $(BIN)
$(SRC): src/nnn.h

$(BIN): $(SRC)
$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS) -lreadline

debug: $(SRC)
$(CC) -DDBGMODE -g $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $(BIN) $^ $(LDLIBS) -lreadline -lrt

norl: $(SRC)
$(CC) -DNORL $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $(BIN) $^ $(LDLIBS)
$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)

noloc: $(SRC)
$(CC) -DNORL -DNOLOCALE $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $(BIN) $^ $(LDLIBS)
# targets for backwards compatibility
debug: $(BIN)
norl: $(BIN)
noloc: $(BIN)

install: all
$(INSTALL) -m 0755 -d $(DESTDIR)$(PREFIX)/bin


+ 1
- 1
README.md 查看文件

@@ -81,7 +81,7 @@ Notes:

#### Library dependencies

A curses library with wide char support (e.g. ncursesw), libreadline (`make norl` to drop) and standard libc.
A curses library with wide char support (e.g. ncursesw), libreadline (`make O_NORL=1` to drop) and standard libc.

#### Utility dependencies



Loading…
取消
儲存