CXX=g++ CPPFLAGS=-c -Wall -std=c++0x -I../include LIBDIR=../lib LDFLAGS=-L $(LIBDIR) -lmy_lib OBJDIR=obj SOURCES=main.cpp main_helper.cpp ui/widget.cpp # //OBJECTS=$(OBJDIR)$(SOURCES:.cpp=.o) OBJECTS=$(foreach bname, $(basename $(SOURCES)), $(OBJDIR)/$(bname).o) EXECUTABLE=main all: $(EXECUTABLE) $(OBJDIR): mkdir $@ $(OBJDIR)/ui: mkdir $@ $(EXECUTABLE): $(OBJECTS) $(LIBDIR)/libmy_lib.a $(CXX) $(OBJECTS) $(LDFLAGS) -o $@ $(OBJDIR)/%.o: %.cpp ../include/my_lib.hpp | $(OBJDIR) $(OBJDIR)/ui $(CXX) $(CPPFLAGS) $< -o $@ clean: rm -f $(OBJECTS) $(EXECUTABLE)