From b3152b16ffc756d30bc62ce24dfcd32c21df8451 Mon Sep 17 00:00:00 2001 From: Baptiste Wicht Date: Sun, 23 Feb 2014 18:18:48 +0100 Subject: [PATCH] Improve makefile --- .gitignore | 8 ++++ programs/Makefile | 91 +++++--------------------------------- programs/hello/Makefile | 8 ++-- programs/keyboard/Makefile | 8 ++-- programs/long/Makefile | 8 ++-- programs/longone/Makefile | 8 ++-- programs/longtwo/Makefile | 8 ++-- programs/loop/Makefile | 8 ++-- programs/one/Makefile | 8 ++-- 9 files changed, 47 insertions(+), 108 deletions(-) diff --git a/.gitignore b/.gitignore index 13b3e9ae..4b49ecec 100644 --- a/.gitignore +++ b/.gitignore @@ -15,4 +15,12 @@ programs/shutdown/shutdown programs/reboot/reboot programs/stat/stat programs/cat/cat +programs/which/which +programs/one/one +programs/long/long +programs/hello/hello +programs/loop/loop +programs/keyboard/keyboard +programs/longtwo/longtwo +programs/longone/longone programs/dist/ \ No newline at end of file diff --git a/programs/Makefile b/programs/Makefile index 4d582fa0..cd3c6529 100644 --- a/programs/Makefile +++ b/programs/Makefile @@ -1,4 +1,4 @@ -.PHONY: default clean force_look +.PHONY: dist default clean force_look PROGRAMS=one hello long loop longone longtwo keyboard tsh cpuid shutdown reboot args stat cat which @@ -7,87 +7,18 @@ default: dist tlib/libtlib.a: force_look cd ../tlib; $(MAKE) -one: force_look tlib/libtlib.a - cd one; $(MAKE) a.out - -hello: force_look tlib/libtlib.a - cd hello; $(MAKE) a.out - -long: force_look tlib/libtlib.a - cd long; $(MAKE) a.out - -longone: force_look tlib/libtlib.a - cd longone; $(MAKE) a.out - -longtwo: force_look tlib/libtlib.a - cd longtwo; $(MAKE) a.out - -loop: force_look tlib/libtlib.a - cd loop; $(MAKE) a.out - -keyboard: force_look tlib/libtlib.a - cd keyboard; $(MAKE) a.out - -cpuid: force_look tlib/libtlib.a - cd cpuid; $(MAKE) cpuid - -tsh: force_look tlib/libtlib.a - cd tsh; $(MAKE) tsh - -reboot: force_look tlib/libtlib.a - cd reboot; $(MAKE) reboot - -shutdown: force_look tlib/libtlib.a - cd shutdown; $(MAKE) shutdown - -args: force_look tlib/libtlib.a - cd args; $(MAKE) args - -stat: force_look tlib/libtlib.a - cd stat; $(MAKE) stat - -cat: force_look tlib/libtlib.a - cd cat; $(MAKE) cat - -which: force_look tlib/libtlib.a - cd which; $(MAKE) which - -dist: $(PROGRAMS) - mkdir -p dist - cp one/a.out dist/one - cp hello/a.out dist/hello - cp long/a.out dist/long - cp longone/a.out dist/longone - cp longtwo/a.out dist/longtwo - cp loop/a.out dist/loop - cp keyboard/a.out dist/keyboard - cp cpuid/cpuid dist/ - cp tsh/tsh dist/ - cp reboot/reboot dist/ - cp shutdown/shutdown dist/ - cp args/args dist/ - cp stat/stat dist/ - cp cat/cat dist/ - cp which/which dist/ - strip dist/* - force_look: true +dist: tlib/libtlib.a + $(foreach var,$(PROGRAMS),cd $(var); $(MAKE); cd ..;) + mkdir -p dist + $(foreach var,$(PROGRAMS),cp $(var)/$(var) dist/;) + strip dist/* + clean: - cd one; $(MAKE) clean - cd hello; $(MAKE) clean - cd long;$(MAKE) clean - cd loop; $(MAKE) clean - cd longone; $(MAKE) clean - cd longtwo; $(MAKE) clean - cd keyboard; $(MAKE) clean - cd tsh; $(MAKE) clean - cd cpuid; $(MAKE) clean - cd reboot; $(MAKE) clean - cd shutdown; $(MAKE) clean - cd args; $(MAKE) clean - cd stat; $(MAKE) clean - cd cat; $(MAKE) clean - cd which; $(MAKE) clean + echo $(PROGRAMS_MAKE) + echo $(PROGRAMS_CLEAN) + echo $(PROGRAMS) + $(foreach var,$(PROGRAMS),cd $(var); $(MAKE) clean; cd ..;) rm -rf dist diff --git a/programs/hello/Makefile b/programs/hello/Makefile index e20adc91..7340c7e8 100644 --- a/programs/hello/Makefile +++ b/programs/hello/Makefile @@ -1,15 +1,15 @@ .PHONY: default clean -default: a.out +default: hello include ../../cpp.mk %.cpp.o: src/%.cpp $(CC) -c $< -o $@ $(PROGRAM_FLAGS) -a.out: main.cpp.o - $(CC) -o a.out main.cpp.o $(PROGRAM_LINK_FLAGS) +hello: main.cpp.o + $(CC) -o hello main.cpp.o $(PROGRAM_LINK_FLAGS) clean: rm -f *.cpp.o - rm -rf a.out + rm -rf hello diff --git a/programs/keyboard/Makefile b/programs/keyboard/Makefile index e20adc91..bb57fa91 100644 --- a/programs/keyboard/Makefile +++ b/programs/keyboard/Makefile @@ -1,15 +1,15 @@ .PHONY: default clean -default: a.out +default: keyboard include ../../cpp.mk %.cpp.o: src/%.cpp $(CC) -c $< -o $@ $(PROGRAM_FLAGS) -a.out: main.cpp.o - $(CC) -o a.out main.cpp.o $(PROGRAM_LINK_FLAGS) +keyboard: main.cpp.o + $(CC) -o keyboard main.cpp.o $(PROGRAM_LINK_FLAGS) clean: rm -f *.cpp.o - rm -rf a.out + rm -rf keyboard diff --git a/programs/long/Makefile b/programs/long/Makefile index e20adc91..e1bf07ab 100644 --- a/programs/long/Makefile +++ b/programs/long/Makefile @@ -1,15 +1,15 @@ .PHONY: default clean -default: a.out +default: long include ../../cpp.mk %.cpp.o: src/%.cpp $(CC) -c $< -o $@ $(PROGRAM_FLAGS) -a.out: main.cpp.o - $(CC) -o a.out main.cpp.o $(PROGRAM_LINK_FLAGS) +long: main.cpp.o + $(CC) -o long main.cpp.o $(PROGRAM_LINK_FLAGS) clean: rm -f *.cpp.o - rm -rf a.out + rm -rf long diff --git a/programs/longone/Makefile b/programs/longone/Makefile index e20adc91..d1a5f81a 100644 --- a/programs/longone/Makefile +++ b/programs/longone/Makefile @@ -1,15 +1,15 @@ .PHONY: default clean -default: a.out +default: longone include ../../cpp.mk %.cpp.o: src/%.cpp $(CC) -c $< -o $@ $(PROGRAM_FLAGS) -a.out: main.cpp.o - $(CC) -o a.out main.cpp.o $(PROGRAM_LINK_FLAGS) +longone: main.cpp.o + $(CC) -o longone main.cpp.o $(PROGRAM_LINK_FLAGS) clean: rm -f *.cpp.o - rm -rf a.out + rm -rf longone diff --git a/programs/longtwo/Makefile b/programs/longtwo/Makefile index e20adc91..7c0a0a06 100644 --- a/programs/longtwo/Makefile +++ b/programs/longtwo/Makefile @@ -1,15 +1,15 @@ .PHONY: default clean -default: a.out +default: longtwo include ../../cpp.mk %.cpp.o: src/%.cpp $(CC) -c $< -o $@ $(PROGRAM_FLAGS) -a.out: main.cpp.o - $(CC) -o a.out main.cpp.o $(PROGRAM_LINK_FLAGS) +longtwo: main.cpp.o + $(CC) -o longtwo main.cpp.o $(PROGRAM_LINK_FLAGS) clean: rm -f *.cpp.o - rm -rf a.out + rm -rf longtwo diff --git a/programs/loop/Makefile b/programs/loop/Makefile index c218fe2c..f4e8dbcd 100644 --- a/programs/loop/Makefile +++ b/programs/loop/Makefile @@ -1,15 +1,15 @@ .PHONY: default clean -default: a.out +default: loop include ../../cpp.mk %.cpp.o: src/%.cpp $(CC) $(PROGRAM_FLAGS) $(CPP_FLAGS_64) $(WARNING_FLAGS) -c $< -o $@ -a.out: main.cpp.o - $(CC) $(PROGRAM_LINK_FLAGS) $(CPP_FLAGS_64) -o a.out main.cpp.o +loop: main.cpp.o + $(CC) $(PROGRAM_LINK_FLAGS) $(CPP_FLAGS_64) -o loop main.cpp.o clean: rm -f *.cpp.o - rm -rf a.out + rm -rf loop diff --git a/programs/one/Makefile b/programs/one/Makefile index e20adc91..ff73ed30 100644 --- a/programs/one/Makefile +++ b/programs/one/Makefile @@ -1,15 +1,15 @@ .PHONY: default clean -default: a.out +default: one include ../../cpp.mk %.cpp.o: src/%.cpp $(CC) -c $< -o $@ $(PROGRAM_FLAGS) -a.out: main.cpp.o - $(CC) -o a.out main.cpp.o $(PROGRAM_LINK_FLAGS) +one: main.cpp.o + $(CC) -o one main.cpp.o $(PROGRAM_LINK_FLAGS) clean: rm -f *.cpp.o - rm -rf a.out + rm -rf one