ledit

Text editor (WIP)
git clone git://lumidify.org/ledit.git (fast, but not encrypted)
git clone https://lumidify.org/git/ledit.git (encrypted, but very slow)
git clone git://4kcetb7mo7hj6grozzybxtotsub5bempzo4lirzc3437amof2c2impyd.onion/ledit.git (over tor)
Log | Files | Refs | README | LICENSE

Makefile (3077B)


      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 DEV=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_DEV0 =
     72 EXTRA_CFLAGS_DEV1 = -DLEDIT_DEBUG -g
     73 EXTRA_FLAGS_SANITIZE0 =
     74 EXTRA_FLAGS_SANITIZE1 = -fsanitize=address,undefined
     75 EXTRA_CFLAGS_UTF8PROC0 = -DENABLE_UTF8PROC=0
     76 EXTRA_CFLAGS_UTF8PROC1 = `pkg-config --cflags libutf8proc` -DENABLE_UTF8PROC=1
     77 EXTRA_LDFLAGS_UTF8PROC0 =
     78 EXTRA_LDFLAGS_UTF8PROC1 = `pkg-config --libs libutf8proc`
     79 
     80 # Xcursor isn't actually needed right now since I'm not using the drag 'n drop functionality
     81 # of ctrlsel yet, but since it's moderately likely that I will use that in the future, I
     82 # decided to just leave it in.
     83 CFLAGS_LEDIT = ${CFLAGS} -DTEST=${TEST} ${EXTRA_FLAGS_SANITIZE${SANITIZE}} ${EXTRA_CFLAGS_DEV${DEV}} ${EXTRA_CFLAGS_UTF8PROC${ENABLE_UTF8PROC}} -Wall -Wextra -pedantic -D_POSIX_C_SOURCE=200809L -std=c99 `pkg-config --cflags x11 xkbfile pangoxft xext xcursor`
     84 LDFLAGS_LEDIT = ${LDFLAGS} ${EXTRA_FLAGS_SANITIZE${SANITIZE}} ${EXTRA_LDFLAGS_UTF8PROC${ENABLE_UTF8PROC}} `pkg-config --libs x11 xkbfile pangoxft xext xcursor` -lm
     85 
     86 all: ${BIN}
     87 
     88 # FIXME: make this nicer
     89 ledit.o window.o : config.h
     90 configparser.o : keys_config.h theme_config.h
     91 
     92 ${OBJ} : ${HDR}
     93 
     94 .c.o:
     95 	${CC} -c -o $@ $< ${CFLAGS_LEDIT}
     96 
     97 ${BIN}: ${OBJ}
     98 	${CC} -o $@ ${OBJ} ${LDFLAGS_LEDIT}
     99 
    100 install: all
    101 	mkdir -p "${DESTDIR}${PREFIX}/bin"
    102 	cp -f ${BIN} "${DESTDIR}${PREFIX}/bin"
    103 	for f in ${BIN}; do chmod 755 "${DESTDIR}${PREFIX}/bin/$$f"; done
    104 	mkdir -p "${DESTDIR}${MANPREFIX}/man1"
    105 	mkdir -p "${DESTDIR}${MANPREFIX}/man5"
    106 	cp -f ${MAN1} "${DESTDIR}${MANPREFIX}/man1"
    107 	cp -f ${MAN5} "${DESTDIR}${MANPREFIX}/man5"
    108 	for m in ${MAN1}; do chmod 644 "${DESTDIR}${MANPREFIX}/man1/$$m"; done
    109 	for m in ${MAN5}; do chmod 644 "${DESTDIR}${MANPREFIX}/man5/$$m"; done
    110 
    111 uninstall:
    112 	for f in ${BIN}; do rm -f "${DESTDIR}${PREFIX}/bin/$$f"; done
    113 	for m in ${MAN1}; do rm -f "${DESTDIR}${MANPREFIX}/man1/$$m"; done
    114 	for m in ${MAN5}; do rm -f "${DESTDIR}${MANPREFIX}/man5/$$m"; done
    115 
    116 clean:
    117 	rm -f ${BIN} ${OBJ}
    118 
    119 dist:
    120 	rm -rf "${NAME}-${VERSION}"
    121 	mkdir -p "${NAME}-${VERSION}"
    122 	cp -f ${MAN1} ${MAN5} ${SRC} ${HDR} ${CONFIGHDR} ${MISCFILES} "${NAME}-${VERSION}"
    123 	tar cf - "${NAME}-${VERSION}" | gzip -c > "${NAME}-${VERSION}.tar.gz"
    124 	rm -rf "${NAME}-${VERSION}"
    125 
    126 .PHONY: all clean install uninstall dist