Update.
This commit is contained in:
@@ -1,75 +1,94 @@
|
||||
all: build build_rpylib run build_mingw
|
||||
# retoor <retoor@molodetz.nl>
|
||||
|
||||
# Variables for compiler and flags
|
||||
CC = gcc
|
||||
CFLAGS = -Ofast -Werror -Wall -lreadline -lncurses -lcurl -ljson-c -lsqlite3 -lm -lpthread $(pkg-config --cflags --libs gnutls gmp) -lssl -lcrypto
|
||||
CFLAGS = -Ofast -Werror -Wall -I./include
|
||||
LDFLAGS = -lreadline -lncurses -lcurl -ljson-c -lsqlite3 -lm -lpthread -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
|
||||
SRCDIR = src
|
||||
TOOLSDIR = src/tools
|
||||
BUILDDIR = build
|
||||
BINDIR = bin
|
||||
|
||||
# Targets
|
||||
build: publish
|
||||
mkdir -p bin
|
||||
$(CC) main.c $(CFLAGS) -o bin/r
|
||||
cp bin/r r
|
||||
publish r
|
||||
SRC_CORE = $(SRCDIR)/r_error.c \
|
||||
$(SRCDIR)/r_config.c \
|
||||
$(SRCDIR)/tool_registry.c \
|
||||
$(SRCDIR)/db.c \
|
||||
$(SRCDIR)/http_client.c \
|
||||
$(SRCDIR)/messages.c \
|
||||
$(SRCDIR)/agent.c \
|
||||
$(SRCDIR)/bash_executor.c \
|
||||
$(SRCDIR)/main.c
|
||||
|
||||
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
|
||||
SRC_TOOLS = $(TOOLSDIR)/tools_init.c \
|
||||
$(TOOLSDIR)/tool_terminal.c \
|
||||
$(TOOLSDIR)/tool_file.c \
|
||||
$(TOOLSDIR)/tool_db.c \
|
||||
$(TOOLSDIR)/tool_http.c \
|
||||
$(TOOLSDIR)/tool_python.c \
|
||||
$(TOOLSDIR)/tool_indexer.c
|
||||
|
||||
publish:
|
||||
curl -OJ https://retoor.molodetz.nl/api/packages/retoor/generic/publish/1.0.0/publish
|
||||
chmod +x publish
|
||||
./publish r
|
||||
SRC = $(SRC_CORE) $(SRC_TOOLS)
|
||||
|
||||
OBJ_CORE = $(patsubst $(SRCDIR)/%.c,$(BUILDDIR)/%.o,$(SRC_CORE))
|
||||
OBJ_TOOLS = $(patsubst $(TOOLSDIR)/%.c,$(BUILDDIR)/tools/%.o,$(SRC_TOOLS))
|
||||
OBJ = $(OBJ_CORE) $(OBJ_TOOLS)
|
||||
|
||||
.PHONY: all clean build build_legacy run
|
||||
|
||||
all: build
|
||||
|
||||
build: $(BINDIR)/r
|
||||
cp $(BINDIR)/r r
|
||||
|
||||
$(BINDIR)/r: $(OBJ)
|
||||
@mkdir -p $(BINDIR)
|
||||
$(CC) $(OBJ) $(LDFLAGS) -o $@
|
||||
|
||||
$(BUILDDIR)/%.o: $(SRCDIR)/%.c
|
||||
@mkdir -p $(dir $@)
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
|
||||
$(BUILDDIR)/tools/%.o: $(TOOLSDIR)/%.c
|
||||
@mkdir -p $(dir $@)
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
|
||||
build_legacy:
|
||||
@mkdir -p $(BINDIR)
|
||||
$(CC) main.c $(CFLAGS) $(LDFLAGS) -o $(BINDIR)/r_legacy
|
||||
cp $(BINDIR)/r_legacy 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:
|
||||
run: build
|
||||
./r --verbose
|
||||
|
||||
run_free:
|
||||
./rf --verbose
|
||||
install:
|
||||
cp ./r /usr/local/bin/r
|
||||
|
||||
run_rd:
|
||||
./rd --verbose
|
||||
|
||||
run_mingw:
|
||||
./r.exe --verbose
|
||||
clean:
|
||||
rm -rf $(BUILDDIR) $(BINDIR)
|
||||
rm -f r
|
||||
|
||||
appimage: build
|
||||
-@rm -rf AppImage
|
||||
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 $(BINDIR)/r AppImage/usr/bin/r
|
||||
./collect_so_files.sh
|
||||
appimagetool-x86_64.AppImage AppImage
|
||||
mv r-x86_64.AppImage r
|
||||
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user