80 lines
2.4 KiB
Makefile
80 lines
2.4 KiB
Makefile
.POSIX:
|
|
|
|
include config.mk
|
|
|
|
REQ = util
|
|
COM = \
|
|
components/battery \
|
|
components/cpu \
|
|
components/datetime \
|
|
components/disk \
|
|
components/entropy \
|
|
components/hostname \
|
|
components/ip \
|
|
components/kernel_release \
|
|
components/keyboard_indicators \
|
|
components/keymap \
|
|
components/load_avg \
|
|
components/netspeeds \
|
|
components/num_files \
|
|
components/ram \
|
|
components/run_command \
|
|
components/separator \
|
|
components/swap \
|
|
components/temperature \
|
|
components/uptime \
|
|
components/user \
|
|
components/volume \
|
|
components/wifi
|
|
|
|
BUILD_DIR = build
|
|
OBJ_DIR = $(BUILD_DIR)/obj
|
|
SRC_DIR = src
|
|
|
|
COM_OBJ = $(COM:%=$(OBJ_DIR)/%.o)
|
|
REQ_OBJ = $(REQ:%=$(OBJ_DIR)/%.o)
|
|
SLSTATUS_OBJ = $(OBJ_DIR)/archy_slstatus.o
|
|
|
|
all: $(BUILD_DIR)/archy-slstatus
|
|
|
|
$(COM_OBJ): $(OBJ_DIR)/%.o : $(SRC_DIR)/%.c $(REQ_OBJ) config.mk $(REQ:%=$(SRC_DIR)/%.h)
|
|
@mkdir -p $(@D)
|
|
$(CC) -o $@ -c $(CPPFLAGS) $(CFLAGS) $<
|
|
|
|
$(REQ_OBJ): $(OBJ_DIR)/%.o : $(SRC_DIR)/%.c $(SRC_DIR)/%.h
|
|
@mkdir -p $(@D)
|
|
$(CC) -o $@ -c $(CPPFLAGS) $(CFLAGS) $<
|
|
|
|
$(SLSTATUS_OBJ): $(SRC_DIR)/archy_slstatus.c $(SRC_DIR)/archy_slstatus.h $(SRC_DIR)/arg.h config.mk $(REQ_OBJ) $(REQ:%=$(SRC_DIR)/%.h)
|
|
@mkdir -p $(@D)
|
|
$(CC) -o $@ -c $(CPPFLAGS) $(CFLAGS) $<
|
|
|
|
$(BUILD_DIR)/archy-slstatus: $(SLSTATUS_OBJ) $(COM_OBJ) $(REQ_OBJ)
|
|
$(CC) -o $@ $(LDFLAGS) $(SLSTATUS_OBJ) $(COM_OBJ) $(REQ_OBJ) $(LDLIBS)
|
|
|
|
clean:
|
|
rm -rf $(BUILD_DIR)
|
|
|
|
dist: build/archy-slstatus
|
|
mkdir -p "dist/archy-slstatus_$(VERSION)"
|
|
cp -R LICENSE README.md $(BUILD_DIR)/archy-slstatus archy-slstatus.1 "dist/archy-slstatus_$(VERSION)"
|
|
tar -cf - "dist/archy-slstatus_$(VERSION)" | gzip -c > "archy-slstatus_$(VERSION).tar.gz"
|
|
rm -rf "dist/archy-slstatus_$(VERSION)"
|
|
mv "archy-slstatus_$(VERSION).tar.gz" "dist/archy-slstatus_$(VERSION).tar.gz"
|
|
echo "The tarball is ready."
|
|
printf "Tarball size: %s\n" $$(du -h dist/archy-slstatus_${VERSION}.tar.gz | cut -f1)
|
|
printf "Tarball hash: %s\n" $$(sha256sum dist/archy-slstatus_${VERSION}.tar.gz)
|
|
|
|
install: all
|
|
mkdir -p "$(DESTDIR)$(PREFIX)/bin"
|
|
cp -f $(BUILD_DIR)/archy-slstatus "$(DESTDIR)$(PREFIX)/bin"
|
|
chmod 755 "$(DESTDIR)$(PREFIX)/bin/archy-slstatus"
|
|
mkdir -p "$(DESTDIR)$(MANPREFIX)/man1"
|
|
cp -f archy-slstatus.1 "$(DESTDIR)$(MANPREFIX)/man1"
|
|
chmod 644 "$(DESTDIR)$(MANPREFIX)/man1/archy-slstatus.1"
|
|
|
|
uninstall:
|
|
rm -f "$(DESTDIR)$(PREFIX)/bin/archy-slstatus"
|
|
rm -f "$(DESTDIR)$(MANPREFIX)/man1/archy-slstatus.1"
|
|
|
|
.PHONY: all clean dist install uninstall
|