compile.mk

来自「一个KDE下的录音程序」· MK 代码 · 共 89 行

MK
89
字号
## some rules to compile stuff ...## (c) 2002-2004 Gerd Knorr <kraxel@bytesex.org>## main features:#  * autodependencies via "cpp -MD"#  * fancy, non-verbose output## This file is public domain.  No warranty.  If it breaks you keep# both pieces.########################################################################## verbose yes/noverbose		?= no# dependency filestmpdep		= mk/$(subst /,_,$*).tmpdepfile		= mk/$(subst /,_,$*).depdepfiles	= mk/*.depcompile_c	= $(CC) $(CFLAGS) -Wp,-MD,$(tmpdep) -c -o $@ $<compile_cc	= $(CXX) $(CXXFLAGS) -Wp,-MD,$(tmpdep) -c -o $@ $<fixup_deps	= sed -e "s|.*\.o:|$@:|" < $(tmpdep) > $(depfile) && rm -f $(tmpdep)cc_makedirs	= mkdir -p $(dir $@) $(dir $(depfile))link_app	= $(CC) $(LDFLAGS) -o $@  $^ $(LDLIBS)link_so		= $(CC) $(LDFLAGS) -shared -Wl,-soname,$(@F) -o $@ $^ $(LDLIBS)ar_lib		= rm -f $@ && ar -r $@ $^ && ranlib $@moc_h		= $(MOC) $< -o $@msgfmt_po	= msgfmt -o $@ $<# non-verbose outputifeq ($(verbose),no)  echo_compile_c	= echo "  CC	 " $@  echo_compile_cc	= echo "  CXX	 " $@  echo_link_app		= echo "  LD	 " $@  echo_link_so		= echo "  LD	 " $@  echo_ar_lib		= echo "  AR	 " $@  echo_moc_h		= echo "  MOC    " $@  echo_msgfmt_po        = echo "  MSGFMT " $@else  echo_compile_c	= echo $(compile_c)  echo_compile_cc	= echo $(compile_cc)  echo_link_app		= echo $(link_app)  echo_link_so		= echo $(link_so)  echo_ar_lib		= echo $(ar_lib)  echo_moc_h		= echo $(moc_h)  echo_msgfmt_po	= echo $(msgfmt_po)endif%.o: %.c	@$(cc_makedirs)	@$(echo_compile_c)	@$(compile_c)	@$(fixup_deps)%.o: %.cc	@$(cc_makedirs)	@$(echo_compile_cc)	@$(compile_cc)	@$(fixup_deps)%.o: %.cpp	@$(cc_makedirs)	@$(echo_compile_cc)	@$(compile_cc)	@$(fixup_deps)%.so: %.o	@$(echo_link_so)	@$(link_so)%: %.o	@$(echo_link_app)	@$(link_app)%.moc : %.h	@$(echo_moc_h)	@$(moc_h)%.mo : %.po	@$(echo_msgfmt_po)	@$(msgfmt_po)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?