Added ability for compiling libraries simultaniously

This commit is contained in:
2020-06-15 20:31:37 -04:00
parent db74198956
commit e0387a74a2

View File

@@ -1,3 +1,4 @@
NUMCORES = ${NUMBER_OF_PROCESSORS}
LIBFLAGS = -shared -std=c++11 -O3 -fPIC -Wall
EXEFLAGS = -Wall -std=c++11 -O3 -Wl,-rpath,'$$ORIGIN/lib'
LINKEDLIBS = -lgmp -lgmpxx
@@ -6,10 +7,10 @@ PROBLEM_FILES = $(patsubst %,Source/libProblem%.cpp,$(PROBLEM_NUMBERS))
LIBDIR = ./lib
LIBS = $(patsubst %, -lProblem%,$(PROBLEM_NUMBERS))
all: libs ProjectEuler
all: libsMulti ProjectEuler
libs: directory $(patsubst %, $(LIBDIR)/libProblem%.so,$(PROBLEM_NUMBERS))
windows: allWindows
allWindows: libsWindows ProjectEuler moveBin
allWindows: libsWindowsMulti ProjectEuler moveBin
libsWindows: directory $(patsubst %, $(LIBDIR)/libProblem%.a,$(PROBLEM_NUMBERS))
#Non-build jobs
@@ -22,10 +23,14 @@ moveBin:
#Building the Libraries
$(LIBDIR)/libProblem%.so: Source/Problem%.cpp
$(CXX) $(LIBFLAGS) -o $@ $< $(LINKEDLIBS)
libsMulti:
$(MAKE) libs -j $(NUMCORES)
#Building the Libraries for Windows
$(LIBDIR)/libProblem%.a: Source/Problem%.cpp
$(CXX) $(LIBFLAGS) -o $@ $< $(LINKEDLIBS)
libsWindowsMulti:
$(MAKE) libsWindows -j $(NUMCORES)
#Building the executable
ProjectEuler: main.cpp