From 3e004fa6a1686dd11a036fd202cd253fc8471b5b Mon Sep 17 00:00:00 2001 From: Xavier Del Campo Romero Date: Wed, 25 Oct 2023 21:13:21 +0200 Subject: [PATCH] Adhere to GNU Make directory variables --- Makefile | 40 ++++++++++++++++++++++++---------------- doc/Makefile | 16 +++++++++++++--- doc/man3/Makefile | 46 ++++++++++++++++++++++++---------------------- doc/man7/Makefile | 16 +++++++++------- 4 files changed, 70 insertions(+), 48 deletions(-) diff --git a/Makefile b/Makefile index 3bc28ea..f38b2cd 100644 --- a/Makefile +++ b/Makefile @@ -9,9 +9,13 @@ VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_VERSION) PROJECT_SO = $(PROJECT).so.$(VERSION) PROJECT_SO_FQ = $(PROJECT).so.$(MAJOR_VERSION) PROJECT_SO_NV = $(PROJECT).so -PREFIX = /usr/local -DST = $(PREFIX)/lib -PC_DST = $(DST)/pkgconfig +prefix = /usr/local +exec_prefix = $(prefix) +includedir = $(prefix)/include +datarootdir = $(prefix)/share +mandir = $(datarootdir)/man +libdir = $(exec_prefix)/lib +pkgcfgdir = $(libdir)/pkgconfig O = -Og CDEFS = -D_FILE_OFFSET_BITS=64 # Required for large file support on 32-bit. CFLAGS = $(O) $(CDEFS) -g -Iinclude -Idynstr/include -fPIC -MD -MF $(@:.o=.d) @@ -26,16 +30,20 @@ OBJECTS = \ all: $(PROJECT_A) $(PROJECT_SO) -install: all $(PC_DST)/libweb.pc - mkdir -p $(PREFIX)/include - cp -R include/libweb $(PREFIX)/include - chmod 0644 $(PREFIX)/include/libweb/*.h - mkdir -p $(DST) - cp $(PROJECT_A) $(PROJECT_SO) $(DST) - chmod 0755 $(DST)/$(PROJECT_A) $(DST)/$(PROJECT_SO) - ln -fs $(DST)/$(PROJECT_SO) $(DST)/$(PROJECT_SO_FQ) - ln -fs $(DST)/$(PROJECT_SO) $(DST)/$(PROJECT_SO_NV) - +cd doc && $(MAKE) PREFIX=$(PREFIX) install +install: all $(pkgcfgdir)/libweb.pc + mkdir -p $(DESTDIR)$(includedir) + cp -R include/libweb $(DESTDIR)$(includedir) + chmod 0644 $(DESTDIR)$(includedir)/libweb/*.h + mkdir -p $(DESTDIR)$(libdir) + cp $(PROJECT_A) $(PROJECT_SO) $(DESTDIR)$(libdir) + chmod 0755 $(libdir)/$(PROJECT_A) $(DESTDIR)$(libdir)/$(PROJECT_SO) + ln -fs $(libdir)/$(PROJECT_SO) $(DESTDIR)$(libdir)/$(PROJECT_SO_FQ) + ln -fs $(libdir)/$(PROJECT_SO) $(DESTDIR)$(libdir)/$(PROJECT_SO_NV) + +cd doc && $(MAKE) install \ + DESTDIR=$(DESTDIR) \ + prefix=$(prefix) \ + datarootdir=$(datarootdir) \ + mandir=$(mandir) clean: rm -f $(OBJECTS) $(DEPS) @@ -52,9 +60,9 @@ $(PROJECT_A): $(OBJECTS) $(PROJECT_SO): $(OBJECTS) $(CC) $(LDFLAGS) $(OBJECTS) -o $@ -$(PC_DST)/libweb.pc: libweb.pc - mkdir -p $(PC_DST) - sed -e 's,/usr/local,$(PREFIX),' $< > $@ +$(pkgcfgdir)/libweb.pc: libweb.pc + mkdir -p $(pkgcfgdir) + sed -e 's,/usr/local,$(prefix),' $< > $@ chmod 0644 $@ -include $(DEPS) diff --git a/doc/Makefile b/doc/Makefile index 6ce9d42..d976d8d 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -1,9 +1,19 @@ .POSIX: -PREFIX = /usr/local +prefix = /usr/local +datarootdir = $(prefix)/share +mandir = $(datarootdir)/man all: install: all - +cd man3 && $(MAKE) PREFIX=$(PREFIX) install - +cd man7 && $(MAKE) PREFIX=$(PREFIX) install + +cd man3 && $(MAKE) install \ + DESTDIR=$(DESTDIR) \ + prefix=$(prefix) \ + datarootdir=$(datarootdir) \ + mandir=$(mandir) + +cd man7 && $(MAKE) install \ + DESTDIR=$(DESTDIR) \ + prefix=$(prefix) \ + datarootdir=$(datarootdir) \ + mandir=$(mandir) diff --git a/doc/man3/Makefile b/doc/man3/Makefile index e8e6a13..fcfa8e3 100644 --- a/doc/man3/Makefile +++ b/doc/man3/Makefile @@ -1,32 +1,34 @@ .POSIX: -PREFIX = /usr/local -DST = $(PREFIX)/share/man/man3 +prefix = /usr/local +datarootdir = $(prefix)/share +mandir = $(datarootdir)/man +man3dir = $(mandir)/man3 OBJECTS = \ - $(DST)/handler_add.3 \ - $(DST)/handler_alloc.3 \ - $(DST)/handler_free.3 \ - $(DST)/handler_listen.3 \ - $(DST)/html_node_add_attr.3 \ - $(DST)/html_node_add_child.3 \ - $(DST)/html_node_add_sibling.3 \ - $(DST)/html_node_alloc.3 \ - $(DST)/html_node_free.3 \ - $(DST)/html_node_set_value.3 \ - $(DST)/html_node_set_value_unescaped.3 \ - $(DST)/html_serialize.3 \ - $(DST)/http_alloc.3 \ - $(DST)/http_cookie_create.3 \ - $(DST)/http_encode_url.3 \ - $(DST)/http_free.3 \ - $(DST)/http_response_add_header.3 \ - $(DST)/http_update.3 + $(DESTDIR)$(man3dir)/handler_add.3 \ + $(DESTDIR)$(man3dir)/handler_alloc.3 \ + $(DESTDIR)$(man3dir)/handler_free.3 \ + $(DESTDIR)$(man3dir)/handler_listen.3 \ + $(DESTDIR)$(man3dir)/html_node_add_attr.3 \ + $(DESTDIR)$(man3dir)/html_node_add_child.3 \ + $(DESTDIR)$(man3dir)/html_node_add_sibling.3 \ + $(DESTDIR)$(man3dir)/html_node_alloc.3 \ + $(DESTDIR)$(man3dir)/html_node_free.3 \ + $(DESTDIR)$(man3dir)/html_node_set_value.3 \ + $(DESTDIR)$(man3dir)/html_node_set_value_unescaped.3 \ + $(DESTDIR)$(man3dir)/html_serialize.3 \ + $(DESTDIR)$(man3dir)/http_alloc.3 \ + $(DESTDIR)$(man3dir)/http_cookie_create.3 \ + $(DESTDIR)$(man3dir)/http_encode_url.3 \ + $(DESTDIR)$(man3dir)/http_free.3 \ + $(DESTDIR)$(man3dir)/http_response_add_header.3 \ + $(DESTDIR)$(man3dir)/http_update.3 all: install: $(OBJECTS) -$(DST)/%.3: %.3 - mkdir -p $(DST) +$(DESTDIR)$(man3dir)/%.3: %.3 + mkdir -p $(DESTDIR)$(man3dir) cp $< $@ chmod 0644 $@ diff --git a/doc/man7/Makefile b/doc/man7/Makefile index c4e1ca7..f9dc22c 100644 --- a/doc/man7/Makefile +++ b/doc/man7/Makefile @@ -1,17 +1,19 @@ .POSIX: -PREFIX = /usr/local -DST = $(PREFIX)/share/man/man7 +prefix = /usr/local +datarootdir = $(prefix)/share +mandir = $(datarootdir)/man +man7dir = $(mandir)/man7 OBJECTS = \ - $(DST)/libweb_handler.7 \ - $(DST)/libweb_html.7 \ - $(DST)/libweb_http.7 + $(DESTDIR)$(man7dir)/libweb_handler.7 \ + $(DESTDIR)$(man7dir)/libweb_html.7 \ + $(DESTDIR)$(man7dir)/libweb_http.7 all: install: $(OBJECTS) -$(DST)/%.7: %.7 - mkdir -p $(DST) +$(DESTDIR)$(man7dir)/%.7: %.7 + mkdir -p $(DESTDIR)$(man7dir) cp $< $@ chmod 0644 $@