diff options
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 30 |
1 files changed, 21 insertions, 9 deletions
@@ -8,6 +8,10 @@ SRC_DIR := src OBJ_DIR := build SRC := $(wildcard $(SRC_DIR)/*.c) OBJ := $(patsubst $(SRC_DIR)/%.c,$(OBJ_DIR)/%.o,$(SRC)) +DEP := $(OBJ:.o=.d) + +MAN := sxwm.1 +MAN_DIR := $(PREFIX)/share/man/man1 XSESSIONS := $(DESTDIR)$(PREFIX)/share/xsessions @@ -17,28 +21,36 @@ $(BIN): $(OBJ) $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(OBJ_DIR)/%.o: $(SRC_DIR)/%.c | $(OBJ_DIR) - $(CC) $(CFLAGS) -c -o $@ $< + @mkdir -p $(dir $@) + $(CC) $(CFLAGS) -MMD -MP -c -o $@ $< + +-include $(DEP) $(OBJ_DIR): - mkdir -p $(OBJ_DIR) + @mkdir -p $@ clean: - rm -rf $(OBJ_DIR) $(BIN) + @rm -rf $(OBJ_DIR) $(BIN) install: all @echo "Installing $(BIN) to $(DESTDIR)$(PREFIX)/bin..." - @mkdir -p $(DESTDIR)$(PREFIX)/bin - @install -m 755 $(BIN) $(DESTDIR)$(PREFIX)/bin/$(BIN) + @mkdir -p "$(DESTDIR)$(PREFIX)/bin" + @install -m 755 $(BIN) "$(DESTDIR)$(PREFIX)/bin/$(BIN)" @echo "Installing sxwm.desktop to $(XSESSIONS)..." - @mkdir -p $(XSESSIONS) - @install -m 644 sxwm.desktop $(XSESSIONS)/sxwm.desktop + @mkdir -p "$(XSESSIONS)" + @install -m 644 sxwm.desktop "$(XSESSIONS)/sxwm.desktop" + @echo "Installing man page to $(DESTDIR)$(MAN_DIR)..." + @mkdir -p $(DESTDIR)$(MAN_DIR) + @install -m 644 $(MAN) $(DESTDIR)$(MAN_DIR)/ @echo "Installation complete." uninstall: @echo "Uninstalling $(BIN) from $(DESTDIR)$(PREFIX)/bin..." - @rm -f $(DESTDIR)$(PREFIX)/bin/$(BIN) + @rm -f "$(DESTDIR)$(PREFIX)/bin/$(BIN)" @echo "Uninstalling sxwm.desktop from $(XSESSIONS)..." - @rm -f $(XSESSIONS)/sxwm.desktop + @rm -f "$(XSESSIONS)/sxwm.desktop" + @echo "Uninstalling man page from $(DESTDIR)$(MAN_DIR)..." + @rm -f $(DESTDIR)$(MAN_DIR)/$(MAN) @echo "Uninstallation complete." .PHONY: all clean install uninstall |
