2e469aaabf
If set, binaries will have rpath set to $ORIGIN/../lib. That means that even using defaults (--prefix=/usr), you can install it via DESTDIR anywhere in your system and binaries will work. This is in preparation for BSD support. Closes: #87 [via git-merge-pr]
60 lines
1.2 KiB
Makefile
60 lines
1.2 KiB
Makefile
-include $(TOPDIR)/config.mk
|
|
|
|
OBJS ?= main.o
|
|
|
|
BINS = $(BIN)
|
|
MANSECTION ?= 1
|
|
MAN ?= $(BIN).$(MANSECTION)
|
|
|
|
ifdef BUILD_STATIC
|
|
BINS += $(BIN).static
|
|
endif
|
|
|
|
CFLAGS+= -Wno-unused-result
|
|
|
|
.PHONY: all
|
|
all: $(BINS)
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
-rm -f $(BIN) $(BIN).static
|
|
-rm -f *.o
|
|
|
|
.PHONY: install
|
|
install: all
|
|
install -d $(DESTDIR)$(SBINDIR)
|
|
install -m 755 $(BIN) $(DESTDIR)$(SBINDIR)
|
|
ifdef BUILD_STATIC
|
|
install -m 755 $(BIN).static $(DESTDIR)$(SBINDIR)
|
|
endif
|
|
ifdef MAN
|
|
install -d $(DESTDIR)$(MANDIR)/man$(MANSECTION)
|
|
install -m 644 $(MAN) $(DESTDIR)$(MANDIR)/man$(MANSECTION)
|
|
endif
|
|
|
|
.PHONY: uninstall
|
|
uninstall:
|
|
-rm -f $(DESTDIR)$(SBINDIR)/$(BIN)
|
|
ifdef BUILD_STATIC
|
|
-rm -f $(DESTDIR)$(SBINDIR)/$(BIN).static
|
|
endif
|
|
ifdef MAN
|
|
-rm -f $(DESTDIR)$(MANDIR)/man$(MANSECTION)/$(MAN)
|
|
endif
|
|
|
|
%.o: %.c
|
|
@printf " [CC]\t\t$@\n"
|
|
${SILENT}$(CC) $(CPPFLAGS) $(CFLAGS) $(EXTRA_CFLAGS) -c $<
|
|
|
|
$(BIN).static: $(OBJS) $(STATIC_LIBS)
|
|
@printf " [CCLD]\t\t$@\n"
|
|
${SILENT}$(CC) -static $(OBJS) $(CPPFLAGS) -L$(TOPDIR)/lib \
|
|
$(CFLAGS) $(LDFLAGS) $(PROG_LDFLAGS) $(STATIC_LIBS) -o $@
|
|
|
|
$(BIN): $(OBJS)
|
|
@printf " [CCLD]\t\t$@\n"
|
|
${SILENT}$(CC) $^ $(CPPFLAGS) -L$(TOPDIR)/lib \
|
|
$(CFLAGS) $(PROG_CFLAGS) $(LDFLAGS) $(PROG_LDFLAGS) \
|
|
-lxbps -o $@
|
|
|