|  | 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
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | build_deb:
 | 
						
						
						
							|  | 	dpkg-deb --build r_package
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | # --- RAG Side Project ---
 | 
						
						
						
							|  | rag_test: rag_test.c rag.c db_utils.c rag.h db_utils.h
 | 
						
						
						
							|  | 	$(CC) -o rag_test rag_test.c rag.c db_utils.c -lsqlite3 -ljson-c
 | 
						
						
						
							|  | 
 | 
						
						
						
							|  | run_rag_test: rag_test
 | 
						
						
						
							|  | 	./rag_test
 |