ledit

Text editor (WIP)
git clone git://lumidify.org/ledit.git (fast, but not encrypted)
git clone https://lumidify.org/ledit.git (encrypted, but very slow)
git clone git://4kcetb7mo7hj6grozzybxtotsub5bempzo4lirzc3437amof2c2impyd.onion/ledit.git (over tor)
Log | Files | Refs | README | 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