CPP=g++
CPPFLAGS=-Iincludes
SOURCEDIR=code
SOURCES=$(shell ls $(SOURCEDIR))
OBJECTDIR=obj
BINDIR=bin
OBJECTS=$(SOURCES:.cpp=.o)
EXECUTABLE=bin/assignment1
%.o: $(SOURCEDIR)/%.cpp
if [ ! -d $(OBJECTDIR) ]; then mkdir $(OBJECTDIR); fi; $(CPP) $(CPPFLAGS) -c $< -o $(OBJECTDIR)/[email protected]
$(EXECUTABLE): $(OBJECTS)
if [ ! -d $(BINDIR) ]; then mkdir $(BINDIR); fi; $(CPP) $(addprefix $(OBJECTDIR)/,$(OBJECTS)) -o [email protected]
clean:
if [ -d $(BINDIR) ]; then rm -rfv $(BINDIR); fi; if [ -d $(OBJECTDIR) ]; then rm -rfv $(OBJECTDIR); fi;
all: $(EXECUTABLE)
现在我的头文件包含在include中,我的主代码文件夹中。我想这样,当我运行使它在程序编译到bin/assignment1后运行它,我该怎么做?如何使makefile在生成后执行
还我怎样才能使它忽略警告? – mystycs 2013-02-13 22:56:01
不要忽略警告。修复您的警告! – 2013-02-13 22:57:18
它的一个小警告我不能修复更改一个int为null – mystycs 2013-02-13 22:59:22