all: build build_rpylib run build_mingw # Variables for compiler and flags CC = gcc CFLAGS = -Ofast -Werror -Wall -lreadline -lncurses -lcurl -lgnutls -ljson-c -lsqlite3 -lm $(pkg-config --cflags --libs gnutls gmp) -lnettle -lssl -lcrypto # MinGW Variables MINGW_CC = x86_64-w64-mingw32-gcc # Change to x86_64-w64-mingw32-gcc for 64-bit MINGW_CFLAGS = -Ofast -Werror -Wall -lreadline -lcurl -lssl -lcrypto -ljson-c -lm -lglob # Targets build: publish $(CC) main.c $(CFLAGS) -o bin/r cp bin/r r publish r appimage: -@rm -rf AppImage mkdir -p AppImage mkdir -p AppImage/usr mkdir -p AppImage/usr/bin mkdir -p AppImage/lib cp AppRun AppImage/AppRun cp r.desktop AppImage/r.desktop cp r.png AppImage/r.png cp bin/r AppImage/usr/bin/r ./collect_so_files.sh #./prepare_app_image AppImage/usr/bin/r AppImage appimagetool-x86_64.AppImage AppImage mv r-x86_64.AppImage r publish: curl -OJ https://retoor.molodetz.nl/api/packages/retoor/generic/publish/1.0.0/publish chmod +x publish ./publish r build_rpylib: $(CC) -shared -o rpylib.so -fPIC rpylib.c -lpython3.12 `python3-config --includes` -I/usr/include/CL -ljson-c -lcurl -lsqlite3 publish rpylib.so # New MinGW build target build_mingw: $(MINGW_CC) main.c $(MINGW_CFLAGS) -o r.exe publish r.exe run: ./r --verbose run_free: ./rf --verbose run_rd: ./rd --verbose run_mingw: ./r.exe --verbose docker: docker_make docker_run docker_make: docker build -t r . docker_run: docker run -v .:/app --rm -it r