src/include/mk/hhl.sharedlib.mk

41 lines
1.0 KiB
Makefile

# hhl.staticlib.mk - hhl - /usr/include/mk
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
#
objdir ?= $(global_objdir)/lib$(libname)_shared
version = $(major).$(minor)
libbase = lib$(libname).so
libmajor = $(libbase).$(major)
libminor = $(libmajor).$(minor)
include hhl.lib.mk
cflags += -fpic
cflags += -fPIC
liblinks = $(libdir)/$(libmajor) $(libdir)/$(libbase)
install: $(libdir)/$(libminor) | $(liblinks)
@echo -e "$(grn)=== Finished Building $(libminor) ===$(reset)"
all: $(libminor)
$(libdir)/$(libminor): $(libminor) | $(libdir)
install -m755 $< $@
$(liblinks): $(libdir)/$(libminor)
ln -s $(libminor) $@
$(libminor): $(objs)
$(CC) -shared -Wl,-soname -Wl,$(libmajor) -o $@ $(objs)
rm -f $(libmajor)
$(objdir)/%.o: $(src)/%.c | $(objdir)
$(CC) $(cppflags) $(cflags) $(ldflags) -o $@ -c $<
$(objdir):
@echo -e "$(grn)=== Building for $(libname) ===$(reset)"
install -d $(objdir)
clean:
@echo -e "$(grn)=== Cleaning for $(libname) ===$(reset)"
rm -rf $(objdir) $(libminor) $(libmajor)
.PHONY: all clean