init Makefile
i used chatgpt for it please don't take my life i still don't know make
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
APP := fetchit
|
||||
SRC := main.cpp
|
||||
BUILD_DIR := build
|
||||
DIST_DIR := dist
|
||||
|
||||
PREFIX ?= /usr/local
|
||||
BINDIR ?= $(PREFIX)/bin
|
||||
DESTDIR ?=
|
||||
|
||||
CXX ?= g++
|
||||
CXXFLAGS ?= -O2 -Wall -Wextra -std=c++17 -pipe
|
||||
LDFLAGS ?= -static-libstdc++ -static-libgcc
|
||||
|
||||
VERSION ?= $(shell git describe --tags --dirty --always 2>/dev/null)
|
||||
|
||||
.PHONY: all build run install uninstall clean dist release
|
||||
|
||||
all: build
|
||||
|
||||
build: | $(BUILD_DIR)
|
||||
build: $(BUILD_DIR)/$(APP)
|
||||
|
||||
$(BUILD_DIR)/$(APP): $(SRC) | $(BUILD_DIR)
|
||||
$(CXX) $(CXXFLAGS) -o $@ $< $(LDFLAGS)
|
||||
|
||||
$(BUILD_DIR):
|
||||
mkdir -p $(BUILD_DIR)
|
||||
|
||||
run: build
|
||||
./$(BUILD_DIR)/$(APP)
|
||||
|
||||
install: | $(BUILD_DIR)
|
||||
install: build
|
||||
install -d "$(DESTDIR)$(BINDIR)"
|
||||
install -m 0755 $(BUILD_DIR)/$(APP) "$(DESTDIR)$(BINDIR)/$(APP)"
|
||||
|
||||
uninstall:
|
||||
rm -f "$(DESTDIR)$(BINDIR)/$(APP)"
|
||||
|
||||
clean:
|
||||
rm -f $(BUILD_DIR)/$(APP)
|
||||
|
||||
dist: | $(BUILD_DIR) $(DIST_DIR)
|
||||
dist: build
|
||||
tar -C $(BUILD_DIR) -czf $(DIST_DIR)/$(APP)-$(VERSION)-linux-x86_64-gnu.tar.gz $(APP)
|
||||
|
||||
$(DIST_DIR):
|
||||
mkdir -p $(DIST_DIR)
|
||||
|
||||
release: clean build dist
|
||||
Reference in New Issue
Block a user