Makefile - ics2txt - convert icalendar .ics file to plain text
(HTM) git clone git://bitreich.org/ics2txt git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/ics2txt
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) Tags
(DIR) README
---
Makefile (1198B)
---
1 NAME = ics2txt
2 VERSION = 1.0
3
4 W = -Wall -Wextra -std=c99 --pedantic
5 D = -D_POSIX_C_SOURCE=200811L -D_BSD_SOURCE -DVERSION='"${VERSION}"'
6 CFLAGS = $D $W -g
7 PREFIX = /usr/local
8 MANPREFIX = ${PREFIX}/man
9
10 SRC = ical.c base64.c util.c
11 HDR = ical.h base64.h util.h
12 OBJ = ${SRC:.c=.o}
13 AWK = tsv2ics.awk
14 BIN = ics2tree ics2tsv tsv2agenda
15 MAN1 = ics2tsv.1 tsv2ics.1 tsv2agenda.1
16
17 all: ${BIN}
18
19 .c.o:
20 ${CC} -c ${CFLAGS} -o $@ $<
21
22 ${AWK:.awk=}:
23 cp $@.awk $@
24 chmod +x $@
25
26 ${OBJ}: ${HDR}
27 ${BIN}: ${OBJ} ${BIN:=.o}
28 ${CC} ${LDFLAGS} -o $@ $@.o ${OBJ}
29
30 clean:
31 rm -rf *.o ${BIN} ${AWK:.awk=} ${NAME}-${VERSION} *.gz
32
33 install: ${BIN} ${AWK:.awk=}
34 mkdir -p ${DESTDIR}$(PREFIX)/bin
35 cp $(BIN) ${AWK:.awk=} ${DESTDIR}$(PREFIX)/bin
36 mkdir -p ${DESTDIR}$(MANPREFIX)/man1
37 cp ${MAN1} ${DESTDIR}$(MANPREFIX)/man1
38
39 dist: clean
40 mkdir -p ${NAME}-${VERSION}
41 cp -r README.md Makefile ${AWK} ${MAN1} ${SRC} ${NAME}-${VERSION}
42 tar -cf - ${NAME}-${VERSION} | gzip -c >${NAME}-${VERSION}.tar.gz
43
44 site: dist
45 notmarkdown README.md | notmarkdown-html | cat .head.html - >index.html
46 notmarkdown README.md | notmarkdown-gph | cat .head.gph - >index.gph
47 sed -i "s/VERSION/${VERSION}/g" index.*
48
49 .SUFFIXES: .awk
50 .PHONY: ${AWK}