# created using the help provided at the below URL # https://stackoverflow.com/questions/2908057/can-i-compile-all-cpp-files-in-src-to-os-in-obj-then-link-to-binary-in all: Net.exe clean: rm Net.exe *.o #Net.exe: Net.o IN.o RE.o TC.o # g++ -o Net Net.o IN.o Re.o TC.o Net.cpp #Tell make to make one .out file for each .cpp file found in the current directory all: $(patsubst %.cpp, %.out, $(wildcard *.cpp)) #Rule how to create arbitary .out files. #First state what is needed for them e.g. additional headers, .cpp files in an include folder... #Then the command to create the .out file, probably you want to add further options to the g++ call. %.out: %.cpp Makefile g++ $< -o $@ -std=c++0x SRC_DIR := ./src OBJ_DIR := ./obj SRC_FILES := $(wildcard $(SRC_DIR)/*.cpp) OBJ_FILES := $(patsubst $(SRC_DIR)/%.cpp,$(OBJ_DIR)/%.o,$(SRC_FILES)) TOP_SRC_DIR := ./ TOP_OBJ_DIR := ./ TOP_SRC_FILES := $(wildcard $(TOP_SRC_DIR)/*.cpp) TOP_OBJ_FILES := $(patsubst $(TOP_SRC_DIR)/%.cpp,$(TOP_OBJ_DIR)/%.o,$(TOP_SRC_FILES)) #LDFLAGS := ... #CPPFLAGS := ... #CXXFLAGS := ... Net.exe: $(OBJ_FILES) $(TOP_OBJ_FILES) g++ $(LDFLAGS) -o $@ $^ $(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp g++ $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $< $(TOP_OBJ_DIR)/%.o: $(TOP_SRC_DIR)/%.cpp g++ $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<