rm -rf build/
printf "" > rules.mk
-# Generate rules for all libraries
-for lib in lib/*; do
- libdir="$(dirname "$lib")"
- libname="$(basename "$lib")"
- for f in "$lib"/*; do
- mkdir -p "build/$(dirname "$f")"
- printf "%s\n" "build/${f%.c}.o: $f config.mk" >> rules.mk
- printf "\t\$(OBJECT)\n" >> rules.mk
- printf "%s\n" "build/$libdir/lib$libname.a: build/${f%.c}.o" >> rules.mk
- printf "%sinclude %s\n" '-' "build/${f%.c}.d" >> rules.mk
+{
+ # Generate rules for all libraries
+ for lib in lib/*; do
+ libdir="$(dirname "$lib")"
+ libname="$(basename "$lib")"
+ for f in "$lib"/*; do
+ mkdir -p "build/$(dirname "$f")"
+ printf "%s\n" "build/${f%.c}.o: $f config.mk"
+ printf "\t\$(OBJECT)\n"
+ printf "%s\n" "build/$libdir/lib$libname.a: build/${f%.c}.o"
+ printf "%sinclude %s\n" '-' "build/${f%.c}.d"
+ done
+ printf "%s\n" "build/$libdir/lib$libname.a:"
+ printf "\t\$(ARCHIVE)\n"
+ printf "%s\n" "libs: build/$libdir/lib$libname.a"
+ mkdir -p "build/$libdir/"
done
- printf "%s\n" "build/$libdir/lib$libname.a:" >> rules.mk
- printf "\t\$(ARCHIVE)\n" >> rules.mk
- printf "%s\n" "libs: build/$libdir/lib$libname.a" >> rules.mk
- mkdir -p "build/$libdir/"
-done
-
-# Generate rules for simple binaries
-for bin in bin/*.c; do
- mkdir -p "build/bin/"
- printf "%s\n" "build/${bin%.c}.o: $bin" >> rules.mk
- printf "\t\$(OBJECT)\n" >> rules.mk
- printf "%s\n" "build/${bin%.c}: build/${bin%.c}.o" >> rules.mk
- printf "\t\$(BINARY)\n" >> rules.mk
- printf "%s\n" "bins: build/${bin%.c}" >> rules.mk
-done
+
+ # Generate rules for simple binaries
+ for bin in bin/*.c; do
+ mkdir -p "build/bin/"
+ printf "%s\n" "build/${bin%.c}.o: $bin"
+ printf "\t\$(OBJECT)\n"
+ printf "%s\n" "build/${bin%.c}: build/${bin%.c}.o"
+ printf "\t\$(BINARY)\n"
+ printf "%s\n" "bins: build/${bin%.c}"
+ done
+} >> rules.mk