Skip to content

Commit cfc0e10

Browse files
authored
Add installation option to Makefile
1 parent d26f836 commit cfc0e10

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

Makefile

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ PLATFORM ?= $(shell uname -s)
55
BUILD_PATH ?= build
66
OBJ_PATH ?= obj
77

8+
# installation prefix
9+
PREFIX ?= /usr/local
10+
LIBDIR ?= $(PREFIX)/lib
11+
INCLUDEDIR ?= $(PREFIX)/include
12+
BINDIR ?= $(PREFIX)/bin
13+
814
# platform specific settings:
915
ifeq ($(PLATFORM), Linux)
1016
LDFLAGS = -lm -ldl
@@ -47,6 +53,33 @@ exe: $(UMKA_EXE)
4753
clean:
4854
$(RM) $(BUILD_PATH) $(OBJ_PATH) -r
4955

56+
install: all
57+
@echo "Installing to the following directories:"
58+
@echo " Libraries: $(DESTDIR)$(LIBDIR)"
59+
@echo " Includes: $(DESTDIR)$(INCLUDEDIR)"
60+
@echo " Binaries: $(DESTDIR)$(BINDIR)"
61+
@mkdir -p -- $(DESTDIR)$(LIBDIR)
62+
@mkdir -p -- $(DESTDIR)$(BINDIR)
63+
@mkdir -p -- $(DESTDIR)$(INCLUDEDIR)
64+
@echo "Copying files..."
65+
@cp $(UMKA_LIB_STATIC) $(DESTDIR)$(LIBDIR)/
66+
@cp $(UMKA_LIB_DYNAMIC) $(DESTDIR)$(LIBDIR)/
67+
@cp $(UMKA_EXE) $(DESTDIR)$(BINDIR)/
68+
@cp $(APIS) $(DESTDIR)$(INCLUDEDIR)/
69+
@echo "Installation complete!"
70+
71+
uninstall:
72+
@echo "Uninstalling following files:"
73+
@echo " $(DESTDIR)$(LIBDIR)/libumka.a"
74+
@echo " $(DESTDIR)$(LIBDIR)/libumka.so"
75+
@echo " $(DESTDIR)$(BINDIR)/umka"
76+
@echo " $(DESTDIR)$(INCLUDEDIR)/umka_api.h"
77+
@rm -f -- $(DESTDIR)$(LIBDIR)/libumka.a
78+
@rm -f -- $(DESTDIR)$(LIBDIR)/libumka.so
79+
@rm -f -- $(DESTDIR)$(BINDIR)/umka
80+
@rm -f -- $(DESTDIR)$(INCLUDEDIR)/umka_api.h
81+
@echo "Uninstallation complete!"
82+
5083
$(UMKA_LIB_STATIC): $(OBJS_STATIC)
5184
@echo AR $@
5285
@mkdir -p -- $(BUILD_PATH)/include/

0 commit comments

Comments
 (0)