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