Alessandro Mauri 1 year ago
parent e11f54f3a1
commit 7f5c6446f7
Signed by: alema
GPG Key ID: 2B7BF9531FF03BE8
  1. 3
      text_rendering/.gitignore
  2. 20
      text_rendering/Makefile
  3. 44
      text_rendering/genmake.sh
  4. 6
      text_rendering/objlist
  5. BIN
      text_rendering/test

@ -1,2 +1,3 @@
*.png
test
test
obj/**

@ -1,7 +1,17 @@
CC = gcc
LDFLAGS = -lm -lgrapheme -lSDL2 -lGLEW -lGL
CFLAGS = -g -Wall -Wextra -pedantic
SOURCE = main.c font.c cache.c hash.c util.c ren.c
HEADER = font.h hash.h cache.h util.h ren.h
CFLAGS = -g -Wall -Wextra -pedantic
test: ${HEADER} ${SOURCE}
gcc ${CFLAGS} ${LDFLAGS} ${SOURCE} -o test
.PHONY: clean all
all: test
cache.o: cache.c cache.h hash.h font.h util.h
font.o: font.c font.h stb_truetype.h stb_image_write.h util.h cache.h
hash.o: hash.c hash.h util.h
main.o: main.c ren.h util.h
ren.o: ren.c util.h font.h ren.h stack.h
util.o: util.c util.h
test: cache.o font.o hash.o main.o ren.o util.o
${CC} ${LDFLAGS} -o test cache.o font.o hash.o main.o ren.o util.o
clean:
rm -f cache.o font.o hash.o main.o ren.o util.o

@ -0,0 +1,44 @@
#!/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"
}
mkdir -p obj
rm -f objlist
cat > Makefile << EOF
CC = gcc
LDFLAGS = -lm -lgrapheme -lSDL2 -lGLEW -lGL
CFLAGS = -g -Wall -Wextra -pedantic
.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 '
cleanrule='clean:
rm -f '
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

@ -0,0 +1,6 @@
cache.o
font.o
hash.o
main.o
ren.o
util.o

Binary file not shown.
Loading…
Cancel
Save