diff --git a/Makefile b/Makefile index a4f8477..1fd1cd6 100644 --- a/Makefile +++ b/Makefile @@ -9,6 +9,10 @@ OBJS = $(SRCS:.c=.o) STATIC_LIB = libhash.a SHARED_LIB = libhash.so +PREFIX ?= /usr/local +INCLUDEDIR = $(PREFIX)/include +LIBDIR = $(PREFIX)/lib + all: $(STATIC_LIB) $(SHARED_LIB) %.o: %.c @@ -20,7 +24,19 @@ $(STATIC_LIB): $(OBJS) $(SHARED_LIB): $(OBJS) $(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: rm -f $(OBJS) $(STATIC_LIB) $(SHARED_LIB) -.PHONY: all clean +.PHONY: all clean install uninstall