Compare commits
3 Commits
Author | SHA1 | Date |
---|---|---|
Xavier Del Campo Romero | 4c88cb098a | |
Xavier Del Campo Romero | 4cd86ad23b | |
Xavier Del Campo Romero | 80057fd3c1 |
|
@ -1,3 +1,5 @@
|
|||
*.o
|
||||
*.obj
|
||||
*.a
|
||||
*.so
|
||||
*.so.*
|
||||
|
|
52
Makefile
52
Makefile
|
@ -1,4 +1,4 @@
|
|||
# Copyright 2020 Xavier Del Campo Romero
|
||||
# Copyright 2020-2023 Xavier Del Campo Romero
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
|
@ -14,31 +14,47 @@
|
|||
|
||||
.POSIX:
|
||||
|
||||
PREFIX = /usr/local
|
||||
DST = $(PREFIX)/lib
|
||||
PC_DST = $(DST)/pkgconfig
|
||||
PROJECT = libdynstr.a
|
||||
CFLAGS = -Iinclude
|
||||
prefix = /usr/local
|
||||
exec_prefix = $(prefix)
|
||||
includedir = $(prefix)/include
|
||||
libdir = $(exec_prefix)/lib
|
||||
pkgcfgdir = $(libdir)/pkgconfig
|
||||
PROJECT = libdynstr
|
||||
MAJOR_VERSION = 0
|
||||
MINOR_VERSION = 1
|
||||
PATCH_VERSION = 0
|
||||
VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_VERSION)
|
||||
PROJECT_A = $(PROJECT).a
|
||||
PROJECT_SO = $(PROJECT).so.$(VERSION)
|
||||
PROJECT_SO_FQ = $(PROJECT).so.$(MAJOR_VERSION)
|
||||
PROJECT_SO_NV = $(PROJECT).so
|
||||
CFLAGS = -Iinclude -fPIC
|
||||
LDFLAGS = -shared
|
||||
DEPS = \
|
||||
dynstr.o
|
||||
|
||||
all: $(PROJECT)
|
||||
all: $(PROJECT_A) $(PROJECT_SO)
|
||||
|
||||
install: $(PROJECT) $(PC_DST)/dynstr.pc
|
||||
mkdir -p $(PREFIX)/include
|
||||
cp include/dynstr.h $(PREFIX)/include
|
||||
chmod 0644 $(PREFIX)/include/dynstr.h
|
||||
mkdir -p $(DST)
|
||||
cp $(PROJECT) $(DST)
|
||||
chmod 0755 $(DST)/$(PROJECT)
|
||||
install: all $(pkgcfgdir)/dynstr.pc
|
||||
mkdir -p $(DESTDIR)$(includedir)
|
||||
cp include/dynstr.h $(DESTDIR)$(includedir)
|
||||
chmod 0644 $(DESTDIR)$(includedir)/dynstr.h
|
||||
mkdir -p $(DESTDIR)$(libdir)
|
||||
cp $(PROJECT_A) $(PROJECT_SO) $(DESTDIR)$(libdir)
|
||||
chmod 0755 $(libdir)/$(PROJECT_A) $(DESTDIR)$(libdir)/$(PROJECT_SO)
|
||||
ln -s $(DESTDIR)$(libdir)/$(PROJECT_SO) $(DESTDIR)$(libdir)/$(PROJECT_SO_FQ)
|
||||
ln -s $(DESTDIR)$(libdir)/$(PROJECT_SO) $(DESTDIR)$(libdir)/$(PROJECT_SO_NV)
|
||||
|
||||
clean:
|
||||
rm -f $(DEPS)
|
||||
|
||||
$(PROJECT): $(DEPS)
|
||||
$(PROJECT_A): $(DEPS)
|
||||
$(AR) $(ARFLAGS) $@ $(DEPS)
|
||||
|
||||
$(PC_DST)/dynstr.pc: dynstr.pc
|
||||
mkdir -p $(PC_DST)
|
||||
sed -e 's,/usr/local,$(PREFIX),' $< > $@
|
||||
$(PROJECT_SO): $(DEPS)
|
||||
$(CC) $(LDFLAGS) $(DEPS) -o $@
|
||||
|
||||
$(pkgcfgdir)/dynstr.pc: dynstr.pc
|
||||
mkdir -p $(DESTDIR)$(pkgcfgdir)
|
||||
sed -e 's,/usr/local,$(DESTDIR)$(prefix),' $< > $@
|
||||
chmod 0644 $@
|
||||
|
|
Loading…
Reference in New Issue