|
all: build build_rpylib run build_mingw
|
|
|
|
# Variables for compiler and flags
|
|
CC = gcc
|
|
CFLAGS = -Ofast -Werror -Wall -lreadline -lncurses -lcurl -ljson-c -lsqlite3 -lm $(pkg-config --cflags --libs gnutls gmp) -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
|
|
mkdir -p bin
|
|
$(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
|