commit 123c5ddd74fcc0151b2646151f0b065486a43a33 parent 0fb942bb22f2a0042403e612868866359563df7f Author: mpizzzle <m@michaelpercival.xyz> Date: Mon, 21 Sep 2020 21:18:15 +0100 building makefile from scratch Diffstat:
| A | .gitignore | | | 1 | + |
| M | Makefile | | | 53 | ++++++++++++++++++++++++++++------------------------- |
2 files changed, 29 insertions(+), 25 deletions(-)
diff --git a/.gitignore b/.gitignore @@ -0,0 +1 @@ +obj/ diff --git a/Makefile b/Makefile @@ -1,25 +1,28 @@ -# Mention default target. -all: - -%.o: %.cpp - clang++ -O2 -Wall -Wextra -pedantic -std=c++11 $< - -program =euler - -euler-objects = - main.o - EulerUtility.o - Euler_15.o - -euler-headers = - EulerUtility.h - Euler.h - -$(euler-objects): $(euler-headers) - -$(program) : $(euler-objects) - g++ $^ -o $@ - -clean : rm -f $(program-objects) $(program) - -all: make $(program) +CXX = clang++ +CXXFLAGS = -O2 -Wall -Wextra -pedantic -std=c++17 -I. +DEPS = Euler.h EulerUtility.h +ODIR = obj +_OBJ = main.o + Euler_1.o Euler_2.o Euler_3.o Euler_4.o Euler_5.o Euler_6.o Euler_7.o Euler_8.o Euler_9.o Euler_10.o + Euler_11.o Euler_12.o Euler_13.o Euler_14.o Euler_16.o Euler_17.o Euler_18.o Euler_19.o Euler_20.o + Euler_21.o Euler_22.o Euler_23.o Euler_24.o Euler_25.o Euler_27.o Euler_28.o Euler_29.o Euler_30.o + Euler_31.o Euler_32.o Euler_33.o Euler_34.o Euler_35.o Euler_36.o Euler_37.o Euler_38.o Euler_39.o Euler_40.o + Euler_41.o Euler_42.o Euler_44.o Euler_45.o Euler_46.o Euler_47.o Euler_49.o Euler_50.o + Euler_51.o Euler_52.o Euler_54.o Euler_56.o Euler_58.o Euler_59.o Euler_60.o + Euler_61.o Euler_62.o Euler_64.o Euler_68.o Euler_69.o Euler_70.o + Euler_71.o Euler_72.o Euler_73.o Euler_74.o Euler_75.o Euler_76.o Euler_77.o Euler_79.o + Euler_87.o + EulerUtility.o + +OBJ = $(patsubst %,$(ODIR)/%,$(_OBJ)) + +$(ODIR)/%.o: %.cpp $(DEPS) + $(CXX) -c -o $@ $< $(CXXFLAGS) + +euler: $(OBJ) + $(CXX) -o $@ $^ -I . + +clean: + rm -f $(ODIR)/*.o + +.PHONY: clean