You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 lines
2.9 KiB
95 lines
2.9 KiB
# =================================================================== |
|
# Taeyeon's miscallaneous applications |
|
# (c) 2019 Taeyeon Mori |
|
# =================================================================== |
|
PROGS = keepassxc-print steamns chome overlayns |
|
PROGS_ALL = fakensudo ssh-overlay-kiosk overlayns-static |
|
|
|
# Compiler config |
|
CXX = clang++ |
|
CXXFLAGS = -std=c++20 -Wall |
|
OPTIMIZE = -O3 -flto |
|
DEBUG = -DDEBUG -g3 |
|
|
|
# Install config |
|
INSTALL_PATH ?= ~/.local/bin |
|
|
|
|
|
# ------------------------------------------------------------------- |
|
# Common targets |
|
.PHONY: all most install clean |
|
most: $(PROGS) |
|
|
|
all: $(PROGS) $(PROGS_ALL) |
|
|
|
install: $(PROGS) |
|
@echo "Installing to INSTALL_PATH = $(INSTALL_PATH)" |
|
@mkdir -p $(INSTALL_PATH) |
|
@bash -c 'for prog in $(PROGS); do test -e $$prog && echo "Install $$prog -> $(INSTALL_PATH)" && install -m755 $$prog $(INSTALL_PATH); done' |
|
|
|
install-fake-sudo: fakensudo |
|
install -m755 $< /usr/local/bin/sudo |
|
|
|
clean: |
|
rm $(PROGS) $(PROGS_ALL) |
|
|
|
|
|
# ------------------------------------------------------------------ |
|
# Dependencies |
|
dep_koutil = koutil.hpp |
|
flg_koutil = |
|
|
|
dep_kofs = kofs.hpp |
|
flg_kofs = |
|
|
|
dep_koos = koos.hpp $(dep_kofs) |
|
flg_koos = $(flg_kofs) |
|
|
|
dep_kofd = kofd.hpp $(dep_kofs) |
|
flg_kofd = $(flg_kofs) |
|
|
|
dep_kofd_pipe = kofd_pipe.hpp $(dep_kofd) |
|
flg_kofd_pipe = $(flg_kofd) |
|
|
|
dep_koproc = koproc.hpp $(dep_kofd_pipe) |
|
flg_koproc = -pthread $(flg_kofd_pipe) |
|
|
|
dep_kons = kons.hpp $(dep_koutil) $(dep_kofd) $(dep_koos) |
|
flg_kons = $(flg_koutil) $(flg_kofd) $(flg_koos) |
|
|
|
dep_kons_clone = kons_clone.hpp $(dep_kons) $(dep_koproc) |
|
flg_kons_clone = $(flg_kons) $(flg_koproc) |
|
|
|
dep_keepassxc = keepassxc-browser.hpp $(dep_koproc) |
|
flg_keepassxc = $(shell pkg-config --cflags --libs libsodium jsoncpp) $(flg_koproc) |
|
|
|
|
|
# ------------------------------------------------------------------- |
|
# Applications |
|
keepassxc-print: keepassxc-print.cpp $(dep_keepassxc) |
|
$(CXX) $(CXXFLAGS) $(OPTIMIZE) $(flg_keepassxc) -o $@ $< |
|
|
|
steamns: steamns.cpp $(dep_kons_clone) |
|
$(CXX) $(CXXFLAGS) $(OPTIMIZE) $(flg_kons_clone) -o $@ $< |
|
|
|
MOverlay2-nsexec: MOverlay2-nsexec.cpp $(dep_kons_clone) |
|
$(CXX) $(CXXFLAGS) $(OPTIMIZE) $(flg_kons_clone) -o $@ $< |
|
|
|
chome: chome.cpp $(dep_koutil) $(dep_kofd) $(dep_koos) |
|
$(CXX) $(CXXFLAGS) $(OPTIMIZE) $(flg_koutil) $(flg_kofd) $(flg_koos) -o $@ $< |
|
|
|
fakensudo: fakensudo.cpp $(dep_kons) |
|
$(CXX) $(CXXFLAGS) $(OPTIMIZE) $(flg_kons) -o $@ $< |
|
|
|
ssh-overlay-kiosk: ssh-overlay-kiosk.cpp $(dep_koutil) $(dep_kofd) $(dep_koos) |
|
$(CXX) $(CXXFLAGS) $(OPTIMIZE) $(flg_koutil) $(flg_kofd) $(flg_koos) -o $@ $< |
|
@echo Setting $@ setuid root |
|
sudo chown root $@ |
|
sudo chmod u+s $@ |
|
|
|
overlayns: overlayns.cpp $(dep_kons) $(dep_koproc) |
|
$(CXX) $(CXXFLAGS) $(OPTIMIZE) $(flg_kons) $(flg_koproc) -o $@ $< |
|
|
|
overlayns-static: overlayns.cpp $(dep_kons) $(dep_koproc) makefile |
|
$(CXX) $(CXXFLAGS) $(OPTIMIZE) $(flg_kons) $(flg_koproc) -static -fdata-sections -ffunction-sections -Wl,--gc-sections -o $@ $< |
|
|
|
|