lorid

convert chordpro to pdf
git clone git://git.relim.de/lorid.git
Log | Files | Refs | README | LICENSE

Makefile (1897B)


      1 VERSION = 0.1.0
      2 PREFIX = /usr/local
      3 MANPREFIX = ${PREFIX}/share/man
      4 CFLAGS = -std=c2x -pedantic -Wall -Wextra
      5 LDFLAGS = -lpdfio -ltoml -lfontconfig -lgrapheme -lm
      6 SRC = src/core.c src/config.c src/chordpro.c src/chord_diagram.c src/out_pdf.c src/lorid.c
      7 OBJS = core.o config.o chordpro.o chord_diagram.o out_pdf.o lorid.o
      8 
      9 # Control whether log messages are colored.
     10 COLOR = 0
     11 # Exact font family name, e.g. from `fc-list : family`
     12 DEFAULT_FONT = "Open Sans"
     13 VARS = -DDEFAULT_FONT=\"${DEFAULT_FONT}\" \
     14        -DVERSION=\"${VERSION}\" \
     15        -DCOLOR=${COLOR} \
     16        -DPREFIX=\"${PREFIX}\"
     17 
     18 lorid: ${OBJS}
     19 	@echo Linking $@...
     20 	@$(CC) -o lorid ${OBJS} ${LDFLAGS}
     21 	@echo Stripping $@...
     22 	@strip $@
     23 %.o : src/%.c
     24 	@echo Compiling $<...
     25 	@$(CC) ${CFLAGS} ${VARS} -O2 -c $<
     26 standalone:
     27 	$(CC) ${CFLAGS} ${VARS} -O2 ${SRC} -o lorid -Wl,-Bstatic -lpdfio -lgrapheme -ltoml -lz -Wl,-Bdynamic -lfontconfig -lpng16 -lm
     28 debug:
     29 	$(CC) ${CFLAGS} ${VARS} -DENABLE_DEBUG -g ${SRC} -o lorid ${LDFLAGS}
     30 clean:
     31 	rm *.o
     32 	rm lorid
     33 test:
     34 	cd test/ && ./find-memory-leaks-in-case-of-error
     35 install: lorid
     36 	mkdir -p ${PREFIX}/bin
     37 	cp lorid ${PREFIX}/bin
     38 	mkdir -p ${MANPREFIX}/man1
     39 	cp lorid.1 ${MANPREFIX}/man1/
     40 	mkdir -p ${MANPREFIX}/man5
     41 	cp lorid_config.5 ${MANPREFIX}/man5/
     42 	mkdir -p ${PREFIX}/share/lorid/
     43 	cp ./misc/ChordProSymbols.ttf ${PREFIX}/share/lorid/
     44 uninstall:
     45 	rm ${PREFIX}/bin/lorid
     46 	rm ${MANPREFIX}/man1/lorid.1
     47 	rm ${MANPREFIX}/man5/lorid_config.5
     48 	rm ${PREFIX}/share/lorid/ChordProSymbols.ttf
     49 dist:
     50 	mkdir -p lorid-v${VERSION}/
     51 	cp -r src/ misc/ Makefile DEVELOPMENT_NOTES README.md lorid.1 lorid_config.5 lorid-v${VERSION}/
     52 	tar czf lorid-v${VERSION}.tar.gz lorid-v${VERSION}/*
     53 	rm -rf lorid-v${VERSION}/
     54 html:
     55 	mkdir -p doc/
     56 	groff -man -Thtml lorid.1 > doc/lorid.1.html
     57 	groff -man -Thtml lorid_config.5 > doc/lorid_config.5.html
     58 .PHONY: standalone debug clean test install uninstall dist html