|
我在书上看到Makefile工具功能很强,但还不是很懂.
请问可以告诉我下面文件中的参数是什么意思吗?
EXECUTABLE:=mushroom.exe
LIBS:=allet
CFLAGS:= -g -Wall -O3 -m486
CXXFLAGS:=$(CFLAGS)
ifneq ($(wildcard$(DJDIR)/bin/rm.exe),)
RM-F:=rm -f
else
RM-F:=del
endif
SOURCE:=$(wildcard*.c)$(wildcard*.cc)
OBJS:=$(patsubst%.c,%.o,$(patsubst%.cc,%.o,$(SOURCE)))
DEPS:=$(patsubst%.o,%.d,$(OBJS))
MISSING_DEPS:=$(filter-out$(wildcard$(DEPS)),$(DEPS))
MISSING_DEPS_SOURCES:=$(wildcard$(patsubst%.d,%.c,$(MISSING_DEPS))\$(patsubst%.d,%.cc,$(MISSING_DEPS)))
CPPFLAGS+=-MD
.PHONY:everything deps objs clean veryclean rebuild
everything (EXECUTABLE)
deps (DEPS)
objs (OBJS)
clean:
@$(RM-F) *.o
@$(RM-F) *.d
veryclean:clean
@$(RM-F)$(EXECUTABLE)
rebuild:veryclean everything
ifneq($(MISSING_DEPS),)
$(MISSING_DEPS):
@$(RM-F) $(patsubst%.d,%.o,$@)
endif
-include $(DEPS)
$(EXECUTABLE) (OBJS)
gcc -o $(EXECUTABLE) $(OBJS) $(addprefix -l,$(LIBS)) |
|