1DOLLY 72TOOLCHAIN gamedev-sdk3REQUIRES HOST runtime@04REQUIRES HOST display@05REQUIRES HOST input@06REQUIRES HOST touch@07REQUIRES HOST download@08REQUIRES HOST http@09REQUIRES HOST snapshot@010REQUIRES HOST upload@011REQUIRES HOST threads@01213FROM /v0.1.4/Dollyfile-system 915c71d4ce772989e3076060967824e48ccd6a1a6259624fe6213542df088dbc14INSTALL /v0.1.4/demos/slopyard/Dollyfile-raylib d0ac649d10a7faf68a40e58cfc61f4419b1a595f47dc2c5126106ed60af6156415INSTALL /v0.1.4/demos/slopyard/Dollyfile-box3d 576bec25915a1511fb1cd791f1afce94da24733ca6940785209e93618cde216a16REQUIRES HEADER libc17REQUIRES TOOL   ar18REQUIRES TOOL   cc19REQUIRES TOOL   make20REQUIRES TOOL   mkdir21REQUIRES TOOL   rm22REQUIRES TOOL   tar2324# raylib and Box3D are the packages'. Box3D's sources stay here for Slopyard,25# which compiles them a second time with threads and SIMD; libm adds the float26# functions the games call.27SOURCE /v0.1.4/dist/static/gamedev/box3d.tar 5a502138e8f7b47c5994bdd279e9dcddeae0b8e147e3b92ab79b723bd07e4377 /tmp/box3d.tar28FILE /usr/src/dolly/gamedev/math.mk29    CC := cc30    AR := ar31    32    .PHONY: all33    34    all: /usr/lib/libm.a35    36    /usr/lib/libm.a: /usr/src/dolly/gamedev/math-compat.c37    	mkdir -p /usr/src/dolly/gamedev/build38    	$(CC) -std=c17 -O2 -fno-builtin -c $< -o /usr/src/dolly/gamedev/build/math-compat.o39    	$(AR) rcs $@ /usr/src/dolly/gamedev/build/math-compat.o40FILE /usr/src/dolly/gamedev/math-compat.c41    #include <math.h>42    #include <stdlib.h>43    44    int abs(int value) { return value < 0 ? -value : value; }45    float asinf(float value) { return (float)asin((double)value); }46    float atan2f(float left, float right) {47      return (float)atan2((double)left, (double)right);48    }49    float ceilf(float value) { return (float)ceil((double)value); }50    float fabsf(float value) { return (float)fabs((double)value); }51    float floorf(float value) { return (float)floor((double)value); }52    double fmax(double left, double right) {53      if (left != left) return right;54      if (right != right) return left;55      return left > right ? left : right;56    }57    double fmin(double left, double right) {58      if (left != left) return right;59      if (right != right) return left;60      return left < right ? left : right;61    }62    float fmodf(float left, float right) {63      return (float)fmod((double)left, (double)right);64    }65    float hypotf(float left, float right) {66      return (float)hypot((double)left, (double)right);67    }68    float powf(float left, float right) {69      return (float)pow((double)left, (double)right);70    }71    float roundf(float value) { return (float)round((double)value); }72    float sqrtf(float value) { return (float)sqrt((double)value); }73SLOP tar -xf /tmp/box3d.tar -C /74SLOP CWD /usr/src/dolly/gamedev make -f /usr/src/dolly/gamedev/math.mk7576FOLDER /usr/src/box3d77EXPORTS LIB m /usr/lib/libm.a7879SLOP rm -rf /tmp/box3d.tar /usr/src/dolly/gamedev/build8081ENTRY /bin/foreground -i /bin/slop82