From 303a26b9192486e3e71f3ad5939ea855549beece Mon Sep 17 00:00:00 2001 From: Suleyman Farajli Date: Sat, 21 Jun 2025 00:51:22 +0400 Subject: feat (makefile): install fonts in desktop target --- Makefile | 41 ++++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 17 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 1928b2b..b102b62 100644 --- a/Makefile +++ b/Makefile @@ -4,6 +4,12 @@ DWM = dwm-farajli-6.5 ST = st-farajli-0.9.2 DMENU = dmenu-farajli-5.3 SLSTATUS = slstatus-farajli-1.0 +FONT1 = LiberationMono +FONT2 = JetBrainsMono + +SOFTWARE = $(DWM) $(DMENU) $(SLSTATUS) $(ST) +FONTS = $(FONT1) $(FONT2) +ARCHIVE = $(SOFTWARE:=.tar.gz) $(FONTS:=.tar.gz) CONFDIR = $(HOME)/.config MUSICDIR = $(HOME)/music @@ -11,6 +17,7 @@ PROJDIR = $(HOME)/proj BOOKDIR = $(HOME)/tproj TESTPROJDIR = $(HOME)/tproj BINDIR = $(HOME)/.local/bin +FONTDIR = $(HOME)/.local/share/fonts/ BASHRC = $(HOME)/.bashrc ZSHRC = $(HOME)/.zshrc @@ -23,9 +30,9 @@ LINK = ln -sf all: config scripts directory check -full: config scripts git directory desktop +full: config scripts directory desktop -desktop: $(DWM) $(ST) $(DMENU) $(SLSTATUS) +desktop: dmenu-install dwm-install slstatus-install st-install font1-install font2-install config: mkdir -p $(CONFDIR)/sites @@ -78,32 +85,32 @@ directory: $(TESTPROJDIR) \ $(BINDIR) -$(DWM).tar.gz $(ST).tar.gz $(DMENU).tar.gz $(SLSTATUS).tar.gz: clean - curl -LO https://farajli.net/archive/$@ +include Sourcedeps -$(DWM): $(DWM).tar.gz -$(ST): $(ST).tar.gz -$(DMENU): $(DMENU).tar.gz -$(SLSTATUS): $(SLSTATUS).tar.gz +$(ARCHIVE): + curl -LO https://farajli.net/archive/$@ -$(DWM) $(ST) $(DMENU) $(SLSTATUS): +$(SOFTWARE) $(FONTS): tar -xf $< - cd $@; PREFIX=~/.local make install + +dmenu-install dwm-install slstatus-install st-install: + PREFIX=~/.local make -C $$(basename $< .tar.gz) install + +font1-install font2-install: + $(COPY) $< $(FONTDIR) check: @-./dep.sh dist: clean mkdir -p slcf/ - cp -R config distros scripts dep.sh Makefile README slcf/ + cp -R config distros scripts dep.sh Makefile README Sourcedeps slcf/ tar -czf slcf.tar.gz slcf/ rm -rf slcf/ clean: - rm -rf slcf/ slcf.tar.gz \ - $(DWM) $(DWM).tar.gz \ - $(ST) $(ST).tar.gz \ - $(DMENU) $(DMENU).tar.gz \ - $(SLSTATUS) $(SLSTATUS).tar.gz + rm -rf slcf/ slcf.tar.gz $(ARCHIVE) $(SOFTWARE) $(FONTS) -.PHONY: all config desktop scripts server arch-linux directory full check +.PHONY: all arch-linux check config desktop directory dist \ + dmenu-install dwm-install font1-install font2-install \ + fonts full git scripts server slstatus-install st-install -- cgit v1.2.3 From 9f2de37ee870fbf277287df52a4d91bbd697a7f7 Mon Sep 17 00:00:00 2001 From: Suleyman Farajli Date: Sat, 21 Jun 2025 12:53:47 +0400 Subject: refactor(makefile): Move contents of Soucedeps into makefile and simplify targets - Explicitly defined dependencies and install commands for software and fonts. - Sourcedeps removed. - Added `sync` to install tarballs from source. - Added `fullcheck` to check optional dependencies. - Run check before installing desktop files to make sure that build dependencies exist. --- Makefile | 31 ++++++++++++++++++++----------- Sourcedeps | 13 ------------- 2 files changed, 20 insertions(+), 24 deletions(-) delete mode 100644 Sourcedeps (limited to 'Makefile') diff --git a/Makefile b/Makefile index b102b62..e59d736 100644 --- a/Makefile +++ b/Makefile @@ -28,11 +28,11 @@ GITCONFIG = $(HOME)/.gitconfig COPY = cp -r LINK = ln -sf -all: config scripts directory check +all: config scripts directory full: config scripts directory desktop -desktop: dmenu-install dwm-install slstatus-install st-install font1-install font2-install +desktop: dmenu-install dwm-install slstatus-install st-install font1-install font2-install check config: mkdir -p $(CONFDIR)/sites @@ -85,32 +85,41 @@ directory: $(TESTPROJDIR) \ $(BINDIR) -include Sourcedeps +sync: $(ARCHIVE) $(ARCHIVE): curl -LO https://farajli.net/archive/$@ -$(SOFTWARE) $(FONTS): - tar -xf $< +dmenu-install: $(DMENU).tar.gz +dwm-install: $(DWM).tar.gz +slstatus-install: $(SLSTATUS).tar.gz +st-install: $(ST).tar.gz +font1-install: $(FONT1).tar.gz +font2-install: $(FONT2).tar.gz dmenu-install dwm-install slstatus-install st-install: + tar xf $< PREFIX=~/.local make -C $$(basename $< .tar.gz) install font1-install font2-install: - $(COPY) $< $(FONTDIR) + tar xf $< + $(COPY) $$(basename $< .tar.gz) $(FONTDIR) check: - @-./dep.sh + @./dep.sh + +fullcheck: + @./dep.sh --optional dist: clean mkdir -p slcf/ - cp -R config distros scripts dep.sh Makefile README Sourcedeps slcf/ + cp -R config distros scripts dep.sh Makefile README slcf/ tar -czf slcf.tar.gz slcf/ rm -rf slcf/ clean: rm -rf slcf/ slcf.tar.gz $(ARCHIVE) $(SOFTWARE) $(FONTS) -.PHONY: all arch-linux check config desktop directory dist \ - dmenu-install dwm-install font1-install font2-install \ - fonts full git scripts server slstatus-install st-install +.PHONY: all arch-linux check clean config desktop directory dist \ + dmenu-install dwm-install font1-install font2-install fonts \ + full fullcheck git scripts server slstatus-install st-install sync diff --git a/Sourcedeps b/Sourcedeps deleted file mode 100644 index 1004d15..0000000 --- a/Sourcedeps +++ /dev/null @@ -1,13 +0,0 @@ -$(DMENU): $(DMENU).tar.gz -$(DWM): $(DWM).tar.gz -$(SLSTATUS): $(SLSTATUS).tar.gz -$(ST): $(ST).tar.gz -$(FONT1): $(FONT1).tar.gz -$(FONT2): $(FONT2).tar.gz - -dmenu-install: $(DMENU) -dwm-install: $(DWM) -slstatus-install: $(SLSTATUS) -st-install: $(ST) -font1-install: $(FONT1) -font2-install: $(FONT2) -- cgit v1.2.3 From 2efe62013e4eec1434e2e84a9cb8c3f43432501f Mon Sep 17 00:00:00 2001 From: Suleyman Farajli Date: Sat, 21 Jun 2025 13:18:10 +0400 Subject: style(makefile): Use spaces for alignment instead of tabs and sort alphabetically --- Makefile | 110 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 56 insertions(+), 54 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index e59d736..ad2fc39 100644 --- a/Makefile +++ b/Makefile @@ -1,32 +1,32 @@ .POSIX: -DWM = dwm-farajli-6.5 -ST = st-farajli-0.9.2 -DMENU = dmenu-farajli-5.3 -SLSTATUS = slstatus-farajli-1.0 -FONT1 = LiberationMono -FONT2 = JetBrainsMono - -SOFTWARE = $(DWM) $(DMENU) $(SLSTATUS) $(ST) -FONTS = $(FONT1) $(FONT2) -ARCHIVE = $(SOFTWARE:=.tar.gz) $(FONTS:=.tar.gz) - -CONFDIR = $(HOME)/.config -MUSICDIR = $(HOME)/music -PROJDIR = $(HOME)/proj -BOOKDIR = $(HOME)/tproj +DWM = dwm-farajli-6.5 +ST = st-farajli-0.9.2 +DMENU = dmenu-farajli-5.3 +SLSTATUS = slstatus-farajli-1.0 +FONT1 = LiberationMono +FONT2 = JetBrainsMono + +SOFTWARE = $(DWM) $(DMENU) $(SLSTATUS) $(ST) +FONTS = $(FONT1) $(FONT2) +ARCHIVE = $(SOFTWARE:=.tar.gz) $(FONTS:=.tar.gz) + +CONFDIR = $(HOME)/.config +MUSICDIR = $(HOME)/music +PROJDIR = $(HOME)/proj +BOOKDIR = $(HOME)/tproj TESTPROJDIR = $(HOME)/tproj -BINDIR = $(HOME)/.local/bin -FONTDIR = $(HOME)/.local/share/fonts/ +BINDIR = $(HOME)/.local/bin +FONTDIR = $(HOME)/.local/share/fonts/ -BASHRC = $(HOME)/.bashrc -ZSHRC = $(HOME)/.zshrc -ZPROFILE = $(HOME)/.zprofile +BASHRC = $(HOME)/.bashrc +ZSHRC = $(HOME)/.zshrc +ZPROFILE = $(HOME)/.zprofile BASHPROFILE = $(HOME)/.bash_profile -GITCONFIG = $(HOME)/.gitconfig +GITCONFIG = $(HOME)/.gitconfig -COPY = cp -r -LINK = ln -sf +COPY = cp -r +LINK = ln -sf all: config scripts directory @@ -36,23 +36,23 @@ desktop: dmenu-install dwm-install slstatus-install st-install font1-install fon config: mkdir -p $(CONFDIR)/sites - $(COPY) config/bash/bashrc $(BASHRC) - $(COPY) config/zsh/zshrc $(ZSHRC) - $(COPY) config/lf $(CONFDIR) - $(COPY) config/mpv $(CONFDIR) - $(COPY) config/sxiv $(CONFDIR) - $(COPY) config/nsxiv $(CONFDIR) - $(COPY) config/picom $(CONFDIR) - $(COPY) config/qutebrowser $(CONFDIR) - $(COPY) config/shell $(CONFDIR) - $(COPY) config/vim $(CONFDIR) - $(COPY) config/nvim $(CONFDIR) - $(COPY) config/x11 $(CONFDIR) - $(COPY) config/zathura $(CONFDIR) - $(COPY) config/mimeapps.list $(CONFDIR) - $(COPY) config/sites/bookmarks.txt $(CONFDIR)/sites - $(LINK) $(CONFDIR)/shell/profile $(BASHPROFILE) - $(LINK) $(CONFDIR)/shell/profile $(ZPROFILE) + $(COPY) config/bash/bashrc $(BASHRC) + $(COPY) config/zsh/zshrc $(ZSHRC) + $(COPY) config/lf $(CONFDIR) + $(COPY) config/mpv $(CONFDIR) + $(COPY) config/sxiv $(CONFDIR) + $(COPY) config/nsxiv $(CONFDIR) + $(COPY) config/picom $(CONFDIR) + $(COPY) config/qutebrowser $(CONFDIR) + $(COPY) config/shell $(CONFDIR) + $(COPY) config/vim $(CONFDIR) + $(COPY) config/nvim $(CONFDIR) + $(COPY) config/x11 $(CONFDIR) + $(COPY) config/zathura $(CONFDIR) + $(COPY) config/mimeapps.list $(CONFDIR) + $(COPY) config/sites/bookmarks.txt $(CONFDIR)/sites + $(LINK) $(CONFDIR)/shell/profile $(BASHPROFILE) + $(LINK) $(CONFDIR)/shell/profile $(ZPROFILE) git: sed '/# signingkey = /d' config/git/gitconfig > $(GITCONFIG) @@ -64,26 +64,28 @@ git: @echo " git config --global user.signingkey " >&2 scripts: - mkdir -p $(BINDIR) - $(COPY) scripts/* $(BINDIR) + mkdir -p $(BINDIR) + $(COPY) scripts/* $(BINDIR) server: - $(COPY) config/bash/bashrc $(BASHRC) - $(COPY) config/zsh/zshrc $(ZSHRC) - $(COPY) config/lf $(CONFDIR) - $(COPY) config/shell $(CONFDIR) - $(COPY) config/vim $(CONFDIR) + $(COPY) config/bash/bashrc $(BASHRC) + $(COPY) config/zsh/zshrc $(ZSHRC) + $(COPY) config/lf $(CONFDIR) + $(COPY) config/shell $(CONFDIR) + $(COPY) config/vim $(CONFDIR) + $(COPY) scripts/noc arch-linux: sudo $(COPY) distros/arch-linux/pacman.conf /etc directory: - mkdir -p $(CONFDIR) \ - $(MUSICDIR) \ - $(PROJDIR) \ - $(BOOKDIR) \ - $(TESTPROJDIR) \ - $(BINDIR) + mkdir -p \ + $(BINDIR) \ + $(BOOKDIR) \ + $(CONFDIR) \ + $(MUSICDIR) \ + $(PROJDIR) \ + $(TESTPROJDIR) sync: $(ARCHIVE) @@ -118,7 +120,7 @@ dist: clean rm -rf slcf/ clean: - rm -rf slcf/ slcf.tar.gz $(ARCHIVE) $(SOFTWARE) $(FONTS) + rm -rf slcf/ slcf.tar.gz $(ARCHIVE) $(FONTS) $(SOFTWARE) .PHONY: all arch-linux check clean config desktop directory dist \ dmenu-install dwm-install font1-install font2-install fonts \ -- cgit v1.2.3