1
0
Fork 0

Adhere to GNU Make directory variables

This commit is contained in:
Xavier Del Campo Romero 2023-10-25 21:13:21 +02:00
parent aaa0ba2755
commit 3e004fa6a1
Signed by untrusted user: xavi
GPG Key ID: 84FF3612A9BF43F2
4 changed files with 70 additions and 48 deletions

View File

@ -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)

View File

@ -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)

View File

@ -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 $@

View File

@ -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 $@