Compare commits
6 Commits
v0.1.0-rc2
...
master
Author | SHA1 | Date |
---|---|---|
Xavier Del Campo Romero | 7be16e6e5c | |
Xavier Del Campo Romero | e7b84e0bf6 | |
Xavier Del Campo Romero | 67bc69c53e | |
Xavier Del Campo Romero | 1a303c69cd | |
Xavier Del Campo Romero | b2ded0cd62 | |
Xavier Del Campo Romero | de0d0e9fab |
|
@ -1,3 +1,5 @@
|
|||
*.o
|
||||
*.obj
|
||||
*.a
|
||||
*.so
|
||||
*.so.*
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
project(dynstr C)
|
||||
project(dynstr LANGUAGES C VERSION 0.1.0)
|
||||
add_library(${PROJECT_NAME} "dynstr.c")
|
||||
target_include_directories(${PROJECT_NAME} PUBLIC "include")
|
||||
install(TARGETS ${PROJECT_NAME})
|
||||
|
|
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 -O1
|
||||
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 -fs $(DESTDIR)$(libdir)/$(PROJECT_SO) $(DESTDIR)$(libdir)/$(PROJECT_SO_FQ)
|
||||
ln -fs $(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