# Сборка spec_server. На плате достаточно `make` — в RP OS gcc есть. # # make собрать на месте (на плате) # make CC=arm-linux-gnueabihf-gcc кросс-сборка с ПК # make deploy RP=root@rp-f0xxxx.local залить исходник и собрать на плате # make run RP=root@rp-f0xxxx.local запустить на плате в текущем терминале CC ?= gcc CFLAGS ?= -O2 -Wall -Wextra -std=c99 LDLIBS := -lm TARGET := spec_server REMOTE ?= /root .PHONY: all clean deploy run all: $(TARGET) $(TARGET): spec_server.c $(CC) $(CFLAGS) -o $@ $< $(LDLIBS) clean: rm -f $(TARGET) # Сборка именно на плате, а не кросс-компиляция: так не надо тащить тулчейн и # гадать про версию libc в RP OS. deploy: @test -n "$(RP)" || (echo "укажите RP=root@адрес" && false) scp spec_server.c $(RP):$(REMOTE)/ ssh $(RP) '$(CC) $(CFLAGS) -o $(REMOTE)/$(TARGET) $(REMOTE)/spec_server.c $(LDLIBS)' @echo "готово: $(RP):$(REMOTE)/$(TARGET)" run: @test -n "$(RP)" || (echo "укажите RP=root@адрес" && false) ssh -t $(RP) '$(REMOTE)/$(TARGET)'