-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMakefile
41 lines (32 loc) · 1.1 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
PROGNAME=emsys
PREFIX=/usr/local
VERSION?=git-$(shell git rev-parse --short HEAD)
BINDIR=$(PREFIX)/bin
MANDIR=$(PREFIX)/man/man1
OBJECTS=main.o wcwidth.o unicode.o row.o region.o undo.o transform.o bound.o command.o find.o pipe.o tab.o register.o re.o
CFLAGS+=-std=c99 -D_POSIX_C_SOURCE=200112L -Wall -Wextra -pedantic -Wno-pointer-sign -Werror=incompatible-pointer-types -DEMSYS_BUILD_DATE=\"$(shell date '+%Y-%m-%dT%H:%M:%S%z')\" -DEMSYS_VERSION=\"$(VERSION)\"
all: $(PROGNAME)
debug: CFLAGS+=-g -O0
debug: $(PROGNAME)
$(PROGNAME): config.h $(OBJECTS)
$(CC) -o $@ $^ $(LDFLAGS)
debug-unicodetest: CFLAGS+=-g -O0
debug-unicodetest: unicodetest
unicodetest: unicode.o unicodetest.o wcwidth.o
$(CC) -o $@ $^ $(LDFLAGS)
install: $(PROGNAME) $(PROGNAME).1
mkdir -pv $(BINDIR)
mkdir -pv $(MANDIR)
mkdir -pv $(PREFIX)/share/doc/
install -m 0755 $(PROGNAME) $(BINDIR)
install -m 0644 README.md $(PREFIX)/share/doc/$(PROGNAME).md
install -m 0644 $(PROGNAME).1 $(MANDIR)/$(PROGNAME).1
config.h:
cp config.def.h $@
format:
clang-format -i *.c *.h
clean:
rm -rf *.o
rm -rf *.exe
rm -rf $(PROGNAME)
rm -rf unicodetest