Makefile (687B)
1 .POSIX: 2 .SUFFIXES: 3 .PHONY: install uninstall clean run test 4 5 BIN = flbng 6 CC = cc 7 CFLAGS = -Wall -Wextra -Werror -Os 8 PREFIX = /usr/local 9 MANPREFIX = $(PREFIX)/share/man 10 11 OBJ = main.o 12 13 all: $(BIN) 14 15 $(BIN): $(OBJ) 16 $(CC) $(LDFLAGS) -o $(BIN) $(OBJ) $(LDLIBS) 17 18 run: $(BIN) 19 ./$(BIN) 20 21 test: $(BIN) 22 ./test.sh 23 24 install: $(BIN) 25 mkdir -p $(DESTDIR)$(PREFIX)/bin 26 mkdir -p $(DESTDIR)$(MANPREFIX)/man1 27 install -m 775 $(BIN) $(DESTDIR)$(PREFIX)/bin/ 28 install -m 644 $(BIN).1 $(DESTDIR)$(MANPREFIX)/man1/ 29 30 uninstall: 31 rm -f $(DESTDIR)$(PREFIX)/bin/$(BIN) 32 rm -f $(DESTDIR)$(MANPREFIX)/man1/$(BIN).1 33 34 clean: 35 rm -f $(BIN) *.o 36 37 .SUFFIXES: .c .o 38 .c.o: 39 $(CC) $(CFLAGS) -c $<