44 lines
774 B
Bash
Raw Normal View History

2023-02-24 15:48:02 +01:00
#!/bin/sh
genobj() {
#echo "$1" | sed -e 's/^/obj\//' -e 's/\.c/\.o/'
echo "$1" | sed -e 's/\.c/\.o/'
}
genrule() {
#gcc -MM "$1" | sed 's/^/obj\//'
gcc -MM "$1"
}
rm -f objlist
cat > Makefile << EOF
CC = gcc
LDFLAGS = -lm -lgrapheme -lSDL2 -lGLEW -lGL
2023-03-12 13:43:30 +01:00
CFLAGS = -ggdb3 -Wall -Wextra -pedantic -std=c11 \
-Wno-unused-function -fno-omit-frame-pointer
2023-02-24 15:48:02 +01:00
.PHONY: clean all
all: test
EOF
for f in *.c; do
genrule $f >> Makefile
genobj $f >> objlist
done
mainrule='test: '
linkcmd=' ${CC} ${LDFLAGS} -o test '
2023-03-12 13:43:30 +01:00
cleanrule='clean:
2023-02-25 00:02:48 +01:00
rm -f test '
2023-02-24 15:48:02 +01:00
while IFS="" read -r line; do
mainrule="$mainrule $line"
linkcmd="$linkcmd $line"
cleanrule="$cleanrule $line"
done < objlist
echo "$mainrule" >> Makefile
echo "$linkcmd" >> Makefile
echo "$cleanrule" >> Makefile