Makefile (1135B)
1 # See LICENSE file for copyright and license details. 2 3 PREFIX ?= /usr/local 4 BINDIR ?= $(PREFIX)/bin 5 MANDIR ?= $(PREFIX)/share/man 6 BINSUFFIX ?= 7 8 PROGNAME = sopen 9 VERSION = $(shell git describe --tags --always 2>/dev/null) 10 CONF = config.h 11 12 SRC = $(shell find . -name '*.c' -printf "%P ") 13 OBJ = $(SRC:.c=.o) 14 LIB = "libmagic" 15 16 RCFLAGS = -c $(CFLAGS) $(WFLAGS) -std=c99 $(shell pkg-config --cflags $(LIB)) 17 RLDFLAGS = $(LDFLAGS) $(shell pkg-config --libs $(LIB)) 18 CPPFLAGS = -DPROGNAME=$(PROGNAME) -DVERSION=$(VERSION) \ 19 -DBUILD_TYPE=$(BUILD_TYPE) -DCFLAGS="$(RCFLAGS)" \ 20 -DLDFLAGS="$(RLDFLAGS)" 21 22 all: $(OBJ) 23 $(CC) $(RLDFLAGS) -o $(PROGNAME)$(BIN_SUFFIX) $(OBJ) 24 25 %.o: %.c $(CONF) 26 $(CC) $(RCFLAGS) $(CPPFLAGS) -o $@ $< 27 28 $(CONF): $(CONF:.h=.def.h) 29 cp $^ $@ 30 31 clean: 32 rm "$(OBJ)" 33 rm "$(PROGNAME)$(BINSUFFIX)" 34 35 install: 36 install -d $(DESTDIR)$(BINDIR)/ $(DESTDIR)$(MANDIR)/man1/ 37 install -s -m 755 "$(PROGNAME)$(BINSUFFIX)" \ 38 $(DESTDIR)$(BINDIR)/$(PROGNAME)$(BINSUFFIX) 39 install -m 644 -D "$(PROGNAME).1" \ 40 "$(DESTDIR)$(MANDIR)/man1/"