Makefile - ledit - Text editor (WIP)
HTML git clone git://lumidify.org/ledit.git (fast, but not encrypted)
HTML git clone https://lumidify.org/ledit.git (encrypted, but very slow)
HTML git clone git://4kcetb7mo7hj6grozzybxtotsub5bempzo4lirzc3437amof2c2impyd.onion/ledit.git (over tor)
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
Makefile (3081B)
---
1 .POSIX:
2
3 NAME = ledit
4 VERSION = -999-prealpha0
5
6 PREFIX = /usr/local
7 MANPREFIX = ${PREFIX}/man
8
9 BIN = ${NAME}
10 MAN1 = ${BIN:=.1}
11 MAN5 = leditrc.5
12 MISCFILES = Makefile README LICENSE IDEAS NOTES TODO
13
14 DEBUG=0
15 TEST=0
16 SANITIZE=0
17 ENABLE_UTF8PROC=1
18
19 OBJ = \
20 assert.o \
21 buffer.o \
22 view.o \
23 cache.o \
24 keys.o \
25 configparser.o \
26 keys_basic.o \
27 keys_command.o \
28 ledit.o \
29 memory.o \
30 search.o \
31 txtbuf.o \
32 undo.o \
33 util.o \
34 draw_util.o \
35 window.o \
36 clipboard.o \
37 pango-compat.o \
38 ctrlsel.o
39
40 SRC = ${OBJ:.o=.c}
41
42 HDR = \
43 assert.h \
44 buffer.h \
45 view.h \
46 cache.h \
47 common.h \
48 keys.h \
49 configparser.h \
50 keys_basic.h \
51 keys_command.h \
52 memory.h \
53 search.h \
54 txtbuf.h \
55 undo.h \
56 util.h \
57 draw_util.h \
58 window.h \
59 cleanup.h \
60 macros.h \
61 pango-compat.h \
62 clipboard.h \
63 uglycrap.h \
64 ctrlsel.h
65
66 CONFIGHDR = \
67 config.h \
68 theme_config.h \
69 keys_config.h
70
71 EXTRA_CFLAGS_DEBUG0 = ${CFLAGS}
72 EXTRA_LDFLAGS_DEBUG0 = ${LDFLAGS}
73 EXTRA_CFLAGS_DEBUG1 = -DLEDIT_DEBUG -g
74 EXTRA_FLAGS_SANITIZE1 = -fsanitize=address
75 EXTRA_CFLAGS_UTF8PROC0 = -DENABLE_UTF8PROC=0
76 EXTRA_CFLAGS_UTF8PROC1 = `pkg-config --cflags libutf8proc` -DENABLE_UTF8PROC=1
77 EXTRA_LDFLAGS_UTF8PROC1 = `pkg-config --libs libutf8proc`
78
79 # Xcursor isn't actually needed right now since I'm not using the drag 'n drop functionality
80 # of ctrlsel yet, but since it's moderately likely that I will use that in the future, I
81 # decided to just leave it in.
82 CFLAGS_LEDIT = -DTEST=${TEST} ${EXTRA_FLAGS_SANITIZE${SANITIZE}} ${EXTRA_CFLAGS_DEBUG${DEBUG}} ${EXTRA_CFLAGS_UTF8PROC${ENABLE_UTF8PROC}} -Wall -Wextra -pedantic -D_POSIX_C_SOURCE=200809L -std=c99 `pkg-config --cflags x11 xkbfile pangoxft xext xcursor`
83 LDFLAGS_LEDIT = ${EXTRA_FLAGS_SANITIZE${SANITIZE}} ${EXTRA_LDFLAGS_DEBUG${DEBUG}} ${EXTRA_LDFLAGS_UTF8PROC${ENABLE_UTF8PROC}} `pkg-config --libs x11 xkbfile pangoxft xext xcursor` -lm
84
85 all: ${BIN}
86
87 # FIXME: make this nicer
88 ledit.o window.o : config.h
89 configparser.o : keys_config.h theme_config.h
90
91 ${OBJ} : ${HDR}
92
93 .c.o:
94 ${CC} -c -o $@ $< ${CFLAGS_LEDIT}
95
96 ${BIN}: ${OBJ}
97 ${CC} -o $@ ${OBJ} ${LDFLAGS_LEDIT}
98
99 install: all
100 mkdir -p "${DESTDIR}${PREFIX}/bin"
101 cp -f ${BIN} "${DESTDIR}${PREFIX}/bin"
102 for f in ${BIN}; do chmod 755 "${DESTDIR}${PREFIX}/bin/$$f"; done
103 mkdir -p "${DESTDIR}${MANPREFIX}/man1"
104 mkdir -p "${DESTDIR}${MANPREFIX}/man5"
105 cp -f ${MAN1} "${DESTDIR}${MANPREFIX}/man1"
106 cp -f ${MAN5} "${DESTDIR}${MANPREFIX}/man5"
107 for m in ${MAN1}; do chmod 644 "${DESTDIR}${MANPREFIX}/man1/$$m"; done
108 for m in ${MAN5}; do chmod 644 "${DESTDIR}${MANPREFIX}/man5/$$m"; done
109
110 uninstall:
111 for f in ${BIN}; do rm -f "${DESTDIR}${PREFIX}/bin/$$f"; done
112 for m in ${MAN1}; do rm -f "${DESTDIR}${MANPREFIX}/man1/$$m"; done
113 for m in ${MAN5}; do rm -f "${DESTDIR}${MANPREFIX}/man5/$$m"; done
114
115 clean:
116 rm -f ${BIN} ${OBJ}
117
118 dist:
119 rm -rf "${NAME}-${VERSION}"
120 mkdir -p "${NAME}-${VERSION}"
121 cp -f ${MAN1} ${MAN5} ${SRC} ${HDR} ${CONFIGHDR} ${MISCFILES} "${NAME}-${VERSION}"
122 tar cf - "${NAME}-${VERSION}" | gzip -c > "${NAME}-${VERSION}.tar.gz"
123 rm -rf "${NAME}-${VERSION}"
124
125 .PHONY: all clean install uninstall dist