このシェルスクリプトはglpngをmacOS向けにコンパイルするためのパッチを当てるスクリプトです.
次のコマンドを入力すれば,glpng/にライブラリが生成されます.
curl -sL https://gist.githubusercontent.com/shun-shobon/a245a0ce495c5f959ea909dc3c45044a/raw/glpng.sh | sh| #!/usr/bin/env sh | |
| set -ue | |
| glpng_zip_url="http://teacher.nagano-nct.ac.jp/ito/Springs_of_C/glpng.zip" | |
| glpng_zip="glpng.zip" | |
| glpng_dir="glpng" | |
| curl -sL $glpng_zip_url -o $glpng_zip | |
| unzip $glpng_zip -d $glpng_dir | |
| cd $glpng_dir | |
| patch -up0 <<EOF | |
| diff -ur src/Makefile.LINUX src/Makefile.LINUX | |
| --- src/Makefile.LINUX 1999-08-30 17:20:16.000000000 +0900 | |
| +++ src/Makefile.LINUX 2022-06-16 14:56:56.000000000 +0900 | |
| @@ -7,11 +7,11 @@ | |
| ####### Compiler, tools and options | |
| -CC = gcc | |
| -CXX = g++ | |
| +CC = gcc-11 | |
| +CXX = g++-11 | |
| CFLAGS = -pipe -Wall -W -O2 -fno-strength-reduce | |
| CXXFLAGS= -pipe -Wall -W -O2 -fno-strength-reduce | |
| -INCPATH = -I../include | |
| +INCPATH = -I../include -framework OpenGL -framework GLUT | |
| AR = ar cqs | |
| RANLIB = | |
| MOC = moc | |
| diff -ur src/glpng.c src/glpng.c | |
| --- src/glpng.c 2000-07-10 21:27:10.000000000 +0900 | |
| +++ src/glpng.c 2022-06-16 14:59:18.000000000 +0900 | |
| @@ -25,8 +25,8 @@ | |
| #include <windows.h> | |
| #endif | |
| +#include <GLUT/glut.h> | |
| #include <GL/glpng.h> | |
| -#include <GL/gl.h> | |
| #include <stdlib.h> | |
| #include <math.h> | |
| #include "png/png.h" | |
| EOF | |
| cd src | |
| make -f Makefile.LINUX | |
| cd ../.. | |
| rm -rf $glpng_zip |