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)/$@
$(EXECUTABLE): $(OBJECTS)
if [ ! -d $(BINDIR) ]; then mkdir $(BINDIR); fi; $(CPP) $(addprefix $(OBJECTDIR)/,$(OBJECTS)) -o $@
clean:
if [ -d $(BINDIR) ]; then rm -rfv $(BINDIR); fi; if [ -d $(OBJECTDIR) ]; then rm -rfv $(OBJECTDIR); fi;
all: $(EXECUTABLE)
現在、ヘッダーはインクルードにあり、メインはコードフォルダーにあります。make を実行すると、プログラムが bin/assignment1 にコンパイルされた後に実行されるようにしたいのですが、どうすればよいですか?