По какой-то причине мне нужно скомпилировать и протестировать мой проект на удаленном сервере.
Одно решение, которое я использую, это ssh + make , это сценарий r_makefile
, который я сейчас использую
# usage: make -f r_makefile
all.remote: a.remote b.remote makefile.remote
%.remote: %.c
scp $< remotehost:~/work/test
touch $@
makefile.remote: makefile
scp $< remotehost:~/work/test
touch $@
test: all.remote
ssh remotehost 'cd work/test && make test'
И makefile
.
CC = gcc
objects = a.o b.o
a: $(objects)
$(CC) $(objects) -o a
a.o: a.c
b.o: b.c
test: a
./a
Теперь он работает нормально, но я должен отслеживать как makefile
, так и r_makefile
. По мере роста кода (что делает мой makefile
более сложным), становится трудно модифицировать r_makefile
.
Интересно, может ли инструмент сделать это для меня или автоматически сгенерировать r_makefile
. В настоящее время я использую git для контроля версий.
Какова лучшая практика для удаленной компиляции и тестирования, есть ли другой способ достижения этой цели?