Makefile (1400B)
1 # markman 2 # See LICENSE file for copyright and license details. 3 4 include config.mk 5 6 EXE = markman 7 SRC = markman.c 8 OBJ = markman.o 9 MAN = markman.1 10 11 MANOPTS = -Dn -s "`./$(EXE) -h 2>&1 | cut -d' ' -f2-`" -t $(EXE) -V $(VERSION) -d "`date '+%B %Y'`" 12 13 all: options $(EXE) $(MAN) 14 15 options: 16 @echo $(EXE) build options: 17 @echo "CFLAGS = $(CFLAGS)" 18 @echo "LDFLAGS = $(LDFLAGS)" 19 20 .o: 21 @echo $(LD) $@ 22 @$(LD) -o $@ $< $(LDFLAGS) 23 24 .c.o: 25 @echo $(CC) $< 26 @$(CC) -c -o $@ $< $(CFLAGS) 27 28 $(OBJ): config.h config.mk 29 30 config.h: 31 @echo creating $@ from config.def.h 32 @cp config.def.h $@ 33 34 $(EXE): $(OBJ) 35 @echo $(CC) -o $@ 36 @$(CC) -o $@ $(OBJ) $(LDFLAGS) 37 38 $(MAN): README.md $(EXE) 39 @echo updating man page $(EXE).1 40 ./$(EXE) $(MANOPTS) $< > $@ 41 42 clean: 43 @echo cleaning 44 @rm -f $(OBJ) $(EXE) 45 46 install: all 47 @echo installing $(EXE) to $(DESTDIR)$(PREFIX)/bin 48 @mkdir -p $(DESTDIR)$(PREFIX)/bin 49 @cp -f $(EXE) $(DESTDIR)$(PREFIX)/bin 50 @chmod 755 $(DESTDIR)$(PREFIX)/bin/$(EXE) 51 @echo installing $(DESTDIR)$(MANPREFIX)/man1/$(EXE).1 52 @mkdir -p $(DESTDIR)$(MANPREFIX)/man1 53 @cp -f $(EXE).1 $(DESTDIR)$(MANPREFIX)/man1/ 54 @chmod 644 $(DESTDIR)$(MANPREFIX)/man1/$(EXE).1 55 56 uninstall: 57 @echo removing $(EXE) from $(DESTDIR)$(PREFIX)/bin 58 @rm -f $(DESTDIR)$(PREFIX)/bin/$(EXE) 59 @echo removing manual page from $(DESTDIR)$(MANPREFIX)/man1 60 @rm -f $(DESTDIR)$(MANPREFIX)/man1/$(EXE).1 61 62 .PHONY: all options clean install uninstall