Ori BernsteinThe deps aren't phony.c7e51fe8 years agoHistory
136 lines · 3.9 KB · Text
RawDownload
.DEFAULT_GOAL=all_DEPS=$(addprefix .deps/, $(OBJ:.o=.d)) _PCHDRS=$(shell [ -z "$(PCPKGS)" ] || pkg-config --cflags $(PCPKGS))_PCLIBS=$(shell [ -z "$(PCPKGS)" ] ||pkg-config --libs $(PCPKGS)) _LIBSRCHPATHS=$(addprefix -L, $(dir $(DEPS)))_LIBINCPATHS=$(addprefix -I, $(dir $(DEPS))) $(_PCHDRS)_LIBPATHS=$(addprefix -l, $(patsubst lib%.a,%,$(notdir $(DEPS)))) $(_PCLIBS) # yeah, I should probably remove -Werror, but it's nice for developing alone.CFLAGS += -Wall -Werror -Wno-unused-parameter -Wno-missing-field-initializers -Wno-sign-compare -Wno-char-subscripts -g -O0CFLAGS += -MMD -MP -MF .deps/$(subst /,-,$*).d LIB ?= $(INSTLIB)BIN ?= $(INSTBIN) # disable implicit rules..SUFFIXES:.SECONDARY:.PHONY: clean clean-gen clean-bin clean-obj clean-misc clean-backups.PHONY: all _modversions all: _modversions subdirs $(BIN) $(LIB) $(EXTRA) $(LIB): $(OBJ) $(EXTRADEP) $(DEPS)	$(AR) -rcs $@ $(OBJ) $(BIN): $(OBJ) $(EXTRADEP) $(DEPS)	$(CC) -o $@ $(OBJ) $(_LIBSRCHPATHS) $(_LIBPATHS) $(LDFLAGS) $(DEPS):	@cd $(dir $@) && $(MAKE) subdirs:	@for i in $(SUB); do (\	    cd $$i && \	    $(MAKE) || \	    exit 1 \	) || exit 1; done subdirs-clean:	@for i in $(SUB); do (\	    cd $$i && \	    $(MAKE) clean|| \	    exit 1 \	); done subdirs-install:	@for i in $(SUB); do (\	    cd $$i && \	    $(MAKE) install|| \	    exit 1 \	); done clean: subdirs-clean $(EXTRACLEAN)	rm -f ${BIN} ${OBJ} ${CLEAN} ${LIB}	rm -rf .deps/ install: subdirs-install $(INSTBIN) $(INSTLIB) $(INSTHDR) $(INSTPKG) $(EXTRAINSTALL)	@for i in $(INSTBIN); do \		echo install $(abspath $$i $(DESTDIR)/$(INST_ROOT)/bin); \		mkdir -p $(abspath $(DESTDIR)/$(INST_ROOT)/bin); \		install $$i $(abspath $(DESTDIR)/$(INST_ROOT)/bin); \	done	@for i in $(INSTLIB); do \		echo install -m 644 $$i $(abspath $(DESTDIR)/$(INST_ROOT)/lib); \		mkdir -p $(abspath $(DESTDIR)/$(INST_ROOT)/lib); \		install -m 644 $$i $(abspath $(DESTDIR)/$(INST_ROOT)/lib); \	done	@for i in $(INSTHDR); do \		echo install $$i $(abspath $(DESTDIR)/$(INST_ROOT)/include); \		mkdir -p $(abspath $(DESTDIR)/$(INST_ROOT)/include); \		install $$i $(abspath $(DESTDIR)/$(INST_ROOT)/include); \	done	@for i in $(INSTPKG); do \		echo install $(abspath $$i $(DESTDIR)/$(INST_ROOT)/lib/pkgconfig); \		mkdir -p $(abspath $(DESTDIR)/$(INST_ROOT)/lib/pkgconfig); \		install $(abspath $$i $(DESTDIR)/$(INST_ROOT)/lib/pkgconfig); \	    done	@for i in $(INSTMAN); do \		sect="$${i##*.}"; \		echo install -m 644 $$i $(abspath $(DESTDIR)/$(INST_MAN)$${sect}); \		mkdir -p $(abspath $(DESTDIR)/$(INST_MAN)$${sect}); \		install -m 644 $$i $(abspath $(DESTDIR)/$(INST_MAN)$${sect}); \	done subdirs-uninstall:	@for i in $(SUB); do (\	    cd $$i && \	    $(MAKE) uninstall|| \	    exit 1 \	); done uninstall: subdirs-uninstall $(EXTRAUNINSTALL)	@for i in $(INSTBIN); do \		echo rm -f $(abspath $(DESTDIR)/$(INST_ROOT)/bin/$$i); \		rm -f $(abspath $(DESTDIR)/$(INST_ROOT)/bin/$$i); \	done	@for i in $(INSTLIB); do \		echo rm -f $(abspath $(DESTDIR)/$(INST_ROOT)/lib/$$i); \		rm -f $(abspath $(DESTDIR)/$(INST_ROOT)/lib/$$i); \	done	@for i in $(INSTHDR); do \		echo rm -f $(abspath $(DESTDIR)/$(INST_ROOT)/include/$$i); \		rm -f $(abspath $(DESTDIR)/$(INST_ROOT)/include/$$i); \	done	@for i in $(INSTPKG); do \		echo rm -f $(abspath $(DESTDIR)/$(INST_ROOT)/lib/pkgconfig/$$i); \		rm -f $(abspath $(DESTDIR)/$(INST_ROOT)/lib/pkgconfig/$$i); \	done	@for i in $(INSTMAN); do \		sect="$${i##*.}" \		echo rm -f $$i $(abspath $(DESTDIR)/$(INST_MAN)$${sect}/$$i); \		rm -f $(abspath $(DESTDIR)/$(INST_MAN)$${sect}/$$i); \	done %.o: %.c $(GENHDR) .deps/stamp	$(CC) -c $(CFLAGS) $(_LIBINCPATHS) $< %.o: %.cpp $(GENHDR) .deps/stamp	$(CXX) -c $(CFLAGS) $(_LIBINCPATHS) $< %.o: %.cc $(GENHDR) .deps/stamp	$(CXX) -c $(CFLAGS) $(_LIBINCPATHS) $< .deps/stamp:	mkdir -p .deps && touch .deps/stamp config.mk: configure	./configure --redo _modversions:	@[ -z "$(PCPKGS)" ] || pkg-config --modversion $(PCPKGS) > /dev/null -include $(_DEPS)

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t