From 6fceae2d495f996ee02899905657b8c8057a7591 Mon Sep 17 00:00:00 2001 From: Alex Kotov Date: Wed, 17 Nov 2021 07:34:53 +0500 Subject: [PATCH] Better organize Makefile --- Makefile | 52 ++++++++++++++++++++++------------------------------ 1 file changed, 22 insertions(+), 30 deletions(-) diff --git a/Makefile b/Makefile index e36a97e..ec94df4 100644 --- a/Makefile +++ b/Makefile @@ -17,10 +17,9 @@ CONFIGMKS = \ VERSION = 6.2 -SRC = \ +MODULES_SRC = \ src/atoms.c \ src/drw.c \ - src/dwm.c \ src/helpers.c \ src/layouts.c \ src/menu.c \ @@ -29,54 +28,47 @@ SRC = \ src/tags.c \ src/util.c -HDR = \ - src/atoms.h \ - src/drw.h \ - src/config.def.h \ - src/helpers.h \ - src/layouts.h \ - src/menu.h \ - src/settings.h \ - src/spawn.h \ - src/tags.h \ - src/util.h - DWM_SRC = \ src/dwm/handlers.c \ src/dwm/layouts.c \ src/dwm/swallow.c \ src/dwm/systray.c -OBJ = ${SRC:.c=.o} -DWM_HDR = ${DWM_SRC:.c=.h} +MODULES_HDR = $(MODULES_SRC:.c=.h) +DWM_HDR = $(DWM_SRC:.c=.h) -polytreewm: ${OBJ} - ${CC} -o $@ ${OBJ} ${LDFLAGS} +SRC = $(MODULES_SRC) src/dwm.c +HDR = $(MODULES_HDR) src/config.def.h + +OBJ = $(SRC:.c=.o) + +polytreewm: $(OBJ) + $(CC) -o $@ $(OBJ) $(LDFLAGS) %.o: %.c - ${CC} -c $< -o $@ ${CFLAGS} + $(CC) -c $< -o $@ $(CFLAGS) -dwm.o: ${DWM_SRC} ${DWM_HDR} -${OBJ}: ${CONFIGMKS} ${HDR} +dwm.o: $(DWM_SRC) $(DWM_HDR) +$(OBJ): $(CONFIGMKS) $(HDR) clean: - rm -f polytreewm ${OBJ} + rm -f polytreewm $(OBJ) distclean: clean rm -f $(CONFIGMKS_TO_REMOVE) install: all - mkdir -p ${DESTDIR}${BINDIR} - cp -f polytreewm ${DESTDIR}${BINDIR} - chmod 755 ${DESTDIR}${BINDIR}/polytreewm + mkdir -p $(DESTDIR)$(BINDIR) + cp -f polytreewm $(DESTDIR)$(BINDIR) + chmod 755 $(DESTDIR)$(BINDIR)/polytreewm - mkdir -p ${DESTDIR}${MANDIR}/man1 - sed "s/VERSION/${VERSION}/g" < polytreewm.1 > ${DESTDIR}${MANDIR}/man1/polytreewm.1 - chmod 644 ${DESTDIR}${MANDIR}/man1/polytreewm.1 + mkdir -p $(DESTDIR)$(MANDIR)/man1 + sed "s/VERSION/$(VERSION)/g" < polytreewm.1 > $(DESTDIR)$(MANDIR)/man1/polytreewm.1 + chmod 644 $(DESTDIR)$(MANDIR)/man1/polytreewm.1 uninstall: rm -f \ - ${DESTDIR}${BINDIR}/polytreewm \ - ${DESTDIR}${MANDIR}/man1/polytreewm.1 + $(DESTDIR)$(BINDIR)/polytreewm \ + $(DESTDIR)$(MANDIR)/man1/polytreewm.1 .PHONY: all clean distclean install uninstall