I have a project with the following structure
Top Level Project Dir
->Other Source Code Folders
->Experiment Binaries
->Experiment 1
-srcs.cpp
-main.cpp
-Makefile
->Experiment 2
-srcs.cpp
-main.cpp
-Makefile
This project is made up of multiple experiments which compile into their own binaries. These experiment are built of of sources from the Top level directory as well as a few specific sources located in the experiments folder. The experiment name is unique and maps to the folders name. Currently In order to make a specific experiment binary I cd into the expeirment directory and run "Make". This structure I am using is becoming unmanageable as I make more and more experiment as all the Makefiles are basically the same and if i end up changing some dependencies in shared common code then i need update all the Makefiles. I want to unify the makefiles into a single one located at the ExperimentBinaries folder level. running "Make" would make all the Experiments placing the objects in the respective folder. and running "Make Experiment1" would make that specific experiment. I am not sure how to get a Makefile to ourput multiple binaries in this fashion.