Makefile (1262B)
1 # sframe — suckless-style Makefile 2 3 include config.mk 4 5 VERSION = 0.1 6 7 PREFIX = /usr/local 8 MANPREFIX = $(PREFIX)/share/man 9 10 CC = cc 11 CFLAGS = -std=c99 -D_POSIX_C_SOURCE=200809L -Wall -Wextra -pedantic \ 12 -DVERSION=\"$(VERSION)\" \ 13 -DDEFAULT_THRESH=$(DEFAULT_THRESH) \ 14 -Isrc 15 LDFLAGS = 16 17 # FFmpeg 18 CFLAGS += $(shell pkg-config --cflags libavformat libavcodec \ 19 libavutil libswscale 2>/dev/null) 20 LDFLAGS += $(shell pkg-config --libs libavformat libavcodec \ 21 libavutil libswscale 2>/dev/null) 22 23 # libpng (for PNG output) 24 CFLAGS += $(shell pkg-config --cflags libpng 2>/dev/null) 25 LDFLAGS += $(shell pkg-config --libs libpng 2>/dev/null) 26 27 # libjpeg (for JPEG output) 28 LDFLAGS += -ljpeg 29 30 LDFLAGS += -lm 31 32 SRC = src/main.c src/decode.c src/diff.c src/util.c 33 OBJ = $(SRC:.c=.o) 34 35 all: sframe 36 37 sframe: $(OBJ) 38 $(CC) -o $@ $(OBJ) $(LDFLAGS) 39 40 .c.o: 41 $(CC) $(CFLAGS) -c -o $@ $< 42 43 clean: 44 rm -f sframe src/*.o 45 46 install: sframe 47 mkdir -p $(PREFIX)/bin 48 cp sframe $(PREFIX)/bin/sframe 49 chmod 755 $(PREFIX)/bin/sframe 50 mkdir -p $(MANPREFIX)/man1 51 cp sframe.1 $(MANPREFIX)/man1/sframe.1 52 chmod 644 $(MANPREFIX)/man1/sframe.1 53 54 uninstall: 55 rm -f $(PREFIX)/bin/sframe 56 rm -f $(MANPREFIX)/man1/sframe.1 57 58 .PHONY: all clean install uninstall