Initial commit

This commit is contained in:
mrsobakin 2025-03-26 13:11:43 +03:00
commit 9b34bfc435
No known key found for this signature in database
GPG key ID: 325CBF665E4FFD6E
7 changed files with 456 additions and 0 deletions

52
Makefile Normal file
View file

@ -0,0 +1,52 @@
CC = gcc
AR = ar
DEPS = json-c
CFLAGS = -Iinclude -Wall -O2 $(shell pkg-config --cflags $(DEPS))
LDFLAGS = $(shell pkg-config --libs $(DEPS))
LIB_SRC = src/ukb.c $(wildcard src/backends/*.c)
LIB_OBJ = $(LIB_SRC:.c=.o)
BIN_SRC = src/main.c
BIN_OBJ = $(BIN_SRC:.c=.o)
PREFIX ?= /usr/local
BIN_DIR = $(PREFIX)/bin
LIB_DIR = $(PREFIX)/lib
INCLUDE_DIR = $(PREFIX)/include/libukb
all: libukb.a libukb.so ukb
$(LIB_OBJ): %.o: %.c
$(CC) $(CFLAGS) -fPIC -DUKB_BACKENDS_INTERNAL -c $< -o $@
$(BIN_OBJ): %.o: %.c
$(CC) $(CFLAGS) -c $< -o $@
libukb.so: $(LIB_OBJ)
$(CC) -shared -o $@ $^ $(LDFLAGS)
libukb.a: $(LIB_OBJ)
$(AR) rcs $@ $^
ukb: $(BIN_OBJ) libukb.a
$(CC) $(BIN_OBJ) -L. -l:libukb.a -o $@ $(LDFLAGS)
.PHONY: install
install: all
install -d $(BIN_DIR) $(LIB_DIR) $(INCLUDE_DIR)
install -m 0755 ukb $(BIN_DIR)/
install -m 0644 libukb.a libukb.so $(LIB_DIR)/
install -m 0644 include/*.h $(INCLUDE_DIR)/
.PHONY: uninstall
uninstall:
rm -f $(BIN_DIR)/ukb
rm -f $(LIB_DIR)/libukb.a $(LIB_DIR)/libukb.so
rm -rf $(INCLUDE_DIR)
.PHONY: clean
clean:
rm -f $(LIB_OBJ) $(BIN_OBJ) ukb libukb.so libukb.a