Makefile (789B)
1 include config.mk 2 3 SRC = $(wildcard src/*.c) 4 SRC += $(LIBSRC) 5 OBJ = $(SRC:.c=.o) 6 MAN = $(NAME:=.1) 7 8 default: $(NAME) 9 10 $(NAME): $(OBJ) 11 $(CC) $(INCLUDES) $(CFLAGS) $(CPPFLAGS) -o $@ $^ 12 13 .o: 14 $(CC) $(LDFLAGS) -o $@ $< $(LIB) 15 16 .c.o: 17 $(CC) $(INCLUDES) $(CFLAGS) -o $@ -c $< 18 19 20 install: default 21 mkdir -p $(DESTDIR)$(PREFIX)/bin 22 cp -f $(NAME) $(DESTDIR)$(PREFIX)/bin 23 cd $(DESTDIR)$(PREFIX)/bin && chmod 755 $(NAME) 24 mkdir -p $(DESTDIR)$(MANPREFIX)/man1 25 for m in $(MAN); do sed "s/{{VERSION}}/$(VERSION)/g" < "$$m" > $(DESTDIR)$(MANPREFIX)/man1/"$$m"; done 26 cd $(DESTDIR)$(MANPREFIX)/man1 && chmod 644 $(MAN) 27 28 uninstall: 29 for b in $(NAME); do rm -f $(DESTDIR)$(PREFIX)/bin/"$$b"; done 30 for m in $(MAN); do rm -f $(DESTDIR)$(MANPREFIX)/man1/"$$m"; done 31 32 clean: 33 rm -f $(NAME) 34 rm -f $(OBJ)