Add installation target to makefile

This commit is contained in:
Artur Tamborski 2019-01-02 00:55:12 +01:00
parent 0d4a741186
commit e0fc6e5740

View File

@ -1,6 +1,8 @@
TARGET = $(notdir $(CURDIR))
SRCEXT = .c
INSTALL = /usr/local/bin
SRCEXT = .c
INCEXT = .h
OBJEXT = .o
@ -9,24 +11,30 @@ INCDIR = .
OBJDIR = bin
CC = gcc
LD = gcc
LD = gcc
LDFLAGS = -lm -lpthread
CCFLAGS = -std=gnu99 -g -ggdb -Og -Wall -Wextra -pedantic -Wno-unused-parameter
SRCTREE = $(shell find $(SRCDIR) -type d)
INCS = $(shell find $(INCDIR) -type f -name '*$(INCEXT)')
SRCS = $(shell find $(SRCDIR) -type f -name '*$(SRCEXT)')
SRCTREE = $(shell find $(SRCDIR) -type d)
INCS = $(shell find $(INCDIR) -type f -name '*$(INCEXT)')
SRCS = $(shell find $(SRCDIR) -type f -name '*$(SRCEXT)')
OBJTREE = $(foreach D,$(SRCTREE),$(shell echo $(D) | sed 's/$(SRCDIR)/$(OBJDIR)/'))
OBJSTMP = $(foreach F,$(SRCS),$(shell echo $(F) | sed -e 's/$(SRCDIR)/$(OBJDIR)/'))
OBJS = $(foreach O,$(OBJSTMP),$(shell echo $(O) | sed -e 's/\$(SRCEXT)/\$(OBJEXT)/'))
OBJSTMP = $(foreach F,$(SRCS),$(shell echo $(F) | sed -e 's/$(SRCDIR)/$(OBJDIR)/'))
OBJS = $(foreach O,$(OBJSTMP),$(shell echo $(O) | sed -e 's/\$(SRCEXT)/\$(OBJEXT)/'))
all: $(TARGET)
build: $(TARGET)
@echo Done.
run: $(TARGET)
run: build
@./$(TARGET)
install: build
@cp $(TARGET) $(INSTALL)
uninstall:
@rm -f $(INSTALL)/$(TARGET)
clean:
@rm -r $(TARGET) $(OBJS) $(OBJDIR) 2>/dev/null || true
@ -39,4 +47,4 @@ $(OBJS): $(OBJDIR)/%$(OBJEXT) : $(SRCDIR)/%$(SRCEXT) | $(OBJDIR)
$(OBJDIR):
@mkdir -p $(OBJDIR) $(OBJTREE)
.PHONY: all run clean
.PHONY: build run install clean