FILENAME = pluginmanager all: all_plugins executable @echo "> MAKING ALL..." test: all @echo "> TESTING PLUGIN1..." ./$(FILENAME) ./plugin1.so @echo "> TESTING PLUGIN2..." ./$(FILENAME) ./plugin2.so @echo "> TESTING PLUGIN3..." ./$(FILENAME) ./plugin3.so clean: @echo "> CLEANING..." rm $(FILENAME) rm *.so all_plugins: @echo "> MAKING PLUGINS..." $(CXX) $(CXXFLAGS) -shared -fPIC -o plugin1.so plugins/plugin_test1.cpp $(CXX) $(CXXFLAGS) -shared -fPIC -o plugin2.so plugins/plugin_test2.cpp $(CXX) $(CXXFLAGS) -shared -fPIC -o plugin3.so plugins/plugin_test3.cpp executable: $(CXX) $(CXXFLAGS) -o $(FILENAME) main.cpp -ldl