📄 depend2.am
字号:
## automake - create Makefile.in from Makefile.am## Copyright (C) 1994-1998, 1999 Free Software Foundation, Inc.## This program is free software; you can redistribute it and/or modify## it under the terms of the GNU General Public License as published by## the Free Software Foundation; either version 2, or (at your option)## any later version.## This program is distributed in the hope that it will be useful,## but WITHOUT ANY WARRANTY; without even the implied warranty of## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the## GNU General Public License for more details.## You should have received a copy of the GNU General Public License## along with this program; if not, write to the Free Software## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA## 02111-1307, USA.%.o: %@EXT@ @echo '$(@PFX@COMPILE) -c $<'; \## There are various ways to get dependency output from gcc. Here's## why we pick this rather obscure method:## - Don't want to use -MD because we'd like the dependencies to end## up in a subdir. Having to rename by hand is ugly.## (We might end up doing this anyway to support other compilers.)## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like## -MM, not -M (despite what the docs say).## - Using -M directly means running the compiler twice (even worse## than renaming). $(@PFX@COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<## This next piece of magic avoids the `deleted header file' problem.## The problem is that when a header file which appears in a .P file## is deleted, the dependency causes make to die (because there is## typically no way to rebuild the header). We avoid this by adding## dummy dependencies for each header file. Too bad gcc doesn't do## this for us directly. @-cp .deps/$(*F).pp .deps/$(*F).P; \ tr ' ' '\012' < .deps/$(*F).pp \## Some versions of gcc put a space before the `:'. On the theory## that the space means something, we add a space to the output as## well. | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ >> .deps/$(*F).P; \ rm .deps/$(*F).pp%.lo: %@EXT@ @echo '$(LT@PFX@COMPILE) -c $<'; \## See above to understand implementation weirdness. $(LT@PFX@COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<## Account for versions of gcc that put a space before the `:'. @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \ < .deps/$(*F).pp > .deps/$(*F).P; \## See above to understand deleted header file trick. tr ' ' '\012' < .deps/$(*F).pp \## Some versions of gcc put a space before the `:'. On the theory## that the space means something, we add a space to the output as## well. | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ >> .deps/$(*F).P; \ rm -f .deps/$(*F).pp
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -