From f195ffffb133c9cda88d5eac41c0f584fd4540c9 Mon Sep 17 00:00:00 2001 From: Trevor Woerner Date: Fri, 4 Dec 2020 03:48:36 -0500 Subject: [PATCH] Makefile: reorganize Reorganize the main Makefile in order to: 1. be able to build in parallel 2. have build failures in subdirectories stop the build Now the "-j <#threads>" option can be used with 'make'. Also, if a build failure occurs in a subdirectory, this new arrangement will cause the build to stop and fail instead of silently ignoring it. To build simply invoke 'make' with or without a -j option. To install simply invoke: make TARGET=install To clean simply invoke: make TARGET=clean Upstream-status: submitted [https://github.com/AndrewFromMelbourne/raspidmx/pull/29] Signed-off-by: Trevor Woerner --- Makefile | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index 4a06de9..1f9f7c4 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,4 @@ -TARGETS=lib \ - life \ +TARGETS=life \ mandelbrot \ offscreen \ pngview \ @@ -10,15 +9,11 @@ TARGETS=lib \ spriteview \ test_pattern \ worms +.PHONY: all lib install clean $(TARGETS) -default :all - -all: - for target in $(TARGETS); do ($(MAKE) -C $$target); done - -install: - for target in $(TARGETS); do ($(MAKE) -C $$target install); done - -clean: - for target in $(TARGETS); do ($(MAKE) -C $$target clean); done +all: $(TARGETS) +$(TARGETS): lib + $(MAKE) -C $@ $(TARGET) +lib: + $(MAKE) -C $@ $(TARGET)