49 lines
1.1 KiB
Makefile
49 lines
1.1 KiB
Makefile
.PHONY: all clean test pipe named-pipe ffi
|
|
.ONESHELL:
|
|
|
|
all: clean
|
|
echo "going to run all ipc/ffi examples"
|
|
sleep 1;
|
|
make test;
|
|
make pipe;
|
|
sleep 3;
|
|
make named-pipe;
|
|
sleep 3;
|
|
make ffi;
|
|
make clean;
|
|
|
|
test:
|
|
mkdir -p test;
|
|
cd test;
|
|
pwd;
|
|
cd ..;
|
|
# note: below line stays in root dir because no `\` at the end of previous line
|
|
rm -rf test;
|
|
|
|
pipe: clean
|
|
cd pipe;
|
|
gcc test_pipe.c -o test_pipe_c_program;
|
|
go build -o test_pipe_go_program main.go;
|
|
./test_pipe_go_program
|
|
|
|
named-pipe: clean
|
|
cd named_pipe;
|
|
gcc test_named_pipe_receiver.c -o test_named_pipe_receiver_c_program;
|
|
go build -o test_named_pipe_sender_go_program main.go;
|
|
./test_named_pipe_receiver_c_program & ./test_named_pipe_sender_go_program;
|
|
|
|
ffi: clean
|
|
cd ffi;
|
|
gcc -c -o example.o example.c;
|
|
ar rcs libexample.a example.o;
|
|
|
|
go build -o test_ffi_go_program main.go;
|
|
./test_ffi_go_program;
|
|
|
|
clean:
|
|
echo "cleaning..."
|
|
rm -rf pipe/test_pipe_c_program pipe/test_pipe_go_program
|
|
rm -rf named_pipe/test_named_pipe_receiver_c_program named_pipe/test_named_pipe_sender_go_program
|
|
rm -rf ffi/main.o ffi/libmain.a ffi/test_ffi_go_program
|
|
|