polytreewm/Makefile

104 lines
1.9 KiB
Makefile
Raw Normal View History

2021-11-17 04:00:30 +05:00
all: polytreewm
2021-12-05 00:05:07 +05:00
VERSION = 6.2
2021-11-17 04:05:40 +05:00
include config/1-generated.mk
2021-11-17 04:07:04 +05:00
include config/2-conditionals.mk
include config/3-defvars.mk
2021-11-17 04:16:14 +05:00
CONFIGMKS_TO_REMOVE = \
2021-11-17 04:05:40 +05:00
config/1-generated.mk \
2021-11-17 04:16:14 +05:00
config/2-conditionals.mk
CONFIGMKS = \
$(CONFIGMKS_TO_REMOVE) \
2021-11-17 04:07:04 +05:00
config/3-defvars.mk
2021-11-17 00:48:06 +05:00
2021-11-17 07:34:53 +05:00
MODULES_SRC = \
src/atoms.c \
2021-11-18 20:37:49 +05:00
src/constraints.c \
src/drw.c \
2021-11-21 06:29:09 +05:00
src/dwm.c \
2021-12-04 22:14:07 +05:00
src/geom.c \
src/helpers.c \
src/layouts.c \
2021-12-04 23:42:03 +05:00
src/logger.c \
src/settings.c \
src/spawn.c \
2021-11-21 00:34:34 +05:00
src/state.c \
2021-11-17 07:56:19 +05:00
src/unit.c \
2021-11-22 09:07:13 +05:00
src/util.c \
src/xbase.c
DWM_SRC = \
2021-12-05 19:55:22 +05:00
src/dwm/bar.c \
src/dwm/handlers.c \
src/dwm/layouts.c \
src/dwm/xerror.c
2006-07-13 01:30:55 +02:00
2021-12-04 23:42:03 +05:00
TEST_SRC = \
2021-12-05 00:31:40 +05:00
tests/geom_basic_geom.c \
2021-12-04 23:42:03 +05:00
tests/geom_position.c \
tests/geom_sizes.c
MAIN_SRC = $(MODULES_SRC) src/main.c
2021-11-17 07:34:53 +05:00
MODULES_HDR = $(MODULES_SRC:.c=.h)
2021-12-04 23:42:03 +05:00
DWM_HDR = $(DWM_SRC:.c=.h)
2021-12-05 00:17:10 +05:00
MAIN_HDR = $(MODULES_HDR) src/main.h
2021-11-17 07:34:53 +05:00
2021-12-04 23:42:03 +05:00
MODULES_OBJ = $(MODULES_SRC:.c=.o)
2021-12-05 00:03:55 +05:00
TEST_OBJ = $(TEST_SRC:.c=.o)
ALL_OBJ = $(MODULES_OBJ) $(TEST_OBJ) tests/main.o src/main.o
2021-11-17 07:34:53 +05:00
2021-12-04 23:42:03 +05:00
TEST_EXE = $(TEST_SRC:.c=.test)
ALL_EXE = polytreewm $(TEST_EXE)
2021-11-16 20:03:26 +05:00
2021-12-05 00:03:55 +05:00
###############
# Executables #
###############
polytreewm: src/main.o $(MODULES_OBJ)
$(CC) -o $@ $^ $(LDFLAGS)
%.test: %.o tests/main.o $(MODULES_OBJ)
2021-12-04 23:42:03 +05:00
$(CC) -o $@ $^ $(LDFLAGS)
2021-12-05 00:03:55 +05:00
################
# Object files #
################
2021-12-04 23:42:03 +05:00
%.o: %.c $(CONFIGMKS) $(HDR)
2021-11-17 07:34:53 +05:00
$(CC) -c $< -o $@ $(CFLAGS)
2006-07-10 16:38:18 +02:00
2021-11-17 07:34:53 +05:00
dwm.o: $(DWM_SRC) $(DWM_HDR)
2006-07-10 16:38:18 +02:00
2021-12-05 00:03:55 +05:00
#########
# Tasks #
#########
test: $(TEST_EXE)
@echo "$(TEST_EXE)" | awk '{ OFS="\n"; $$1=$$1 } 1' | /bin/sh
2006-07-10 16:38:18 +02:00
clean:
2021-12-04 23:42:03 +05:00
rm -f $(ALL_OBJ) $(ALL_EXE)
2006-07-10 16:49:43 +02:00
2021-11-17 03:02:06 +05:00
distclean: clean
2021-11-17 04:16:14 +05:00
rm -f $(CONFIGMKS_TO_REMOVE)
2021-11-17 03:02:06 +05:00
2006-07-10 16:49:43 +02:00
install: all
2021-11-17 07:34:53 +05:00
mkdir -p $(DESTDIR)$(BINDIR)
cp -f polytreewm $(DESTDIR)$(BINDIR)
chmod 755 $(DESTDIR)$(BINDIR)/polytreewm
2021-11-12 13:42:58 +05:00
2021-11-17 07:34:53 +05:00
mkdir -p $(DESTDIR)$(MANDIR)/man1
sed "s/VERSION/$(VERSION)/g" < polytreewm.1 > $(DESTDIR)$(MANDIR)/man1/polytreewm.1
chmod 644 $(DESTDIR)$(MANDIR)/man1/polytreewm.1
2006-07-10 16:49:43 +02:00
uninstall:
2021-11-12 13:42:58 +05:00
rm -f \
2021-11-17 07:34:53 +05:00
$(DESTDIR)$(BINDIR)/polytreewm \
$(DESTDIR)$(MANDIR)/man1/polytreewm.1
2021-12-04 23:42:03 +05:00
.PHONY: all clean distclean install uninstall test