Compare commits

...

2 commits

Author SHA1 Message Date
Imbus
d54875361b Makefile: install/uninstall 2025-09-15 18:24:44 +02:00
Imbus
f1dde6bfd1 Makefile: Use '?=' for tools and CFLAGS 2025-09-15 18:24:30 +02:00

View file

@ -1,7 +1,7 @@
CC = gcc CC ?= gcc
CFLAGS = -Wall -fPIC -Ihash -O2 CFLAGS ?= -Wall -fPIC -Ihash -O2
AR = ar AR ?= ar
ARFLAGS = rcs ARFLAGS ?= rcs
SRCS = djb2.c SRCS = djb2.c
OBJS = $(SRCS:.c=.o) OBJS = $(SRCS:.c=.o)
@ -9,6 +9,10 @@ OBJS = $(SRCS:.c=.o)
STATIC_LIB = libhash.a STATIC_LIB = libhash.a
SHARED_LIB = libhash.so SHARED_LIB = libhash.so
PREFIX ?= /usr/local
INCLUDEDIR = $(PREFIX)/include
LIBDIR = $(PREFIX)/lib
all: $(STATIC_LIB) $(SHARED_LIB) all: $(STATIC_LIB) $(SHARED_LIB)
%.o: %.c %.o: %.c
@ -20,7 +24,19 @@ $(STATIC_LIB): $(OBJS)
$(SHARED_LIB): $(OBJS) $(SHARED_LIB): $(OBJS)
$(CC) -shared -o $@ $^ $(CC) -shared -o $@ $^
install: $(STATIC_LIB) $(SHARED_LIB)
mkdir -p $(DESTDIR)$(INCLUDEDIR)/hash
cp -r hash/*.h $(DESTDIR)$(INCLUDEDIR)/hash/
mkdir -p $(DESTDIR)$(LIBDIR)
cp $(STATIC_LIB) $(SHARED_LIB) $(DESTDIR)$(LIBDIR)/
@echo "Installed libraries to $(DESTDIR)$(LIBDIR) and headers to $(DESTDIR)$(INCLUDEDIR)/hash"
uninstall:
rm -f $(DESTDIR)$(LIBDIR)/$(STATIC_LIB) $(DESTDIR)$(LIBDIR)/$(SHARED_LIB)
rm -rf $(DESTDIR)$(INCLUDEDIR)/hash
@echo "Uninstalled libraries from $(DESTDIR)$(LIBDIR) and headers from $(DESTDIR)$(INCLUDEDIR)/hash"
clean: clean:
rm -f $(OBJS) $(STATIC_LIB) $(SHARED_LIB) rm -f $(OBJS) $(STATIC_LIB) $(SHARED_LIB)
.PHONY: all clean .PHONY: all clean install uninstall