40 lines
2.2 KiB
Makefile
40 lines
2.2 KiB
Makefile
.PHONY: all clean install uninstall test
|
|
|
|
PROTOBUF=/usr/include/
|
|
GEN=gen
|
|
RUNS=runs
|
|
PROTO_OUT=$(GEN)/google/protobuf/empty.pb-c.c $(GEN)/google/protobuf/empty.pb-c.h $(GEN)/google/protobuf/timestamp.pb-c.c $(GEN)/google/protobuf/timestamp.pb-c.h $(GEN)/google/protobuf/duration.pb-c.c $(GEN)/google/protobuf/duration.pb-c.h gen/runner/v1/runner.pb-c.c gen/runner/v1/runner.pb-c.c
|
|
|
|
all: starter/alpine-make-rootfs starter/minrootfs starter/starter.so transport/transport $(RUNS) $(GEN)/google/protobuf/empty.pb-c.c $(GEN)/google/protobuf/empty.pb-c.h $(GEN)/google/protobuf/timestamp.pb-c.c $(GEN)/google/protobuf/timestamp.pb-c.h $(GEN)/google/protobuf/duration.pb-c.c $(GEN)/google/protobuf/duration.pb-c.h $(GEN)/runner/v1/runner.pb-c.c $(GEN)/runner/v1/runner.pb-c.h
|
|
|
|
$(GEN):
|
|
mkdir -p $(GEN)
|
|
|
|
$(GEN)/google/protobuf/empty.pb-c.c $(GEN)/google/protobuf/empty.pb-c.h: $(PROTOBUF)/google/protobuf/empty.proto $(GEN)
|
|
protoc --c_out=$(GEN) google/protobuf/empty.proto -I $(PROTOBUF)
|
|
|
|
$(GEN)/google/protobuf/timestamp.pb-c.c $(GEN)/google/protobuf/timestamp.pb-c.h: $(PROTOBUF)/google/protobuf/timestamp.proto $(GEN)
|
|
protoc --c_out=$(GEN) google/protobuf/timestamp.proto -I $(PROTOBUF)
|
|
|
|
$(GEN)/google/protobuf/duration.pb-c.c $(GEN)/google/protobuf/duration.pb-c.h: $(PROTOBUF)/google/protobuf/duration.proto $(GEN)
|
|
protoc --c_out=$(GEN) google/protobuf/duration.proto -I $(PROTOBUF)
|
|
|
|
$(GEN)/runner/v1/runner.pb-c.c $(GEN)/runner/v1/runner.pb-c.h: proto/runner/v1/runner.proto $(GEN)
|
|
protoc --c_out=$(GEN) runner/v1/runner.proto -I proto
|
|
|
|
|
|
starter/alpine-make-rootfs:
|
|
git clone https://github.com/alpinelinux/alpine-make-rootfs starter/alpine-make-rootfs
|
|
|
|
starter/minrootfs: starter/create_rootfs.sh
|
|
starter/create_rootfs.sh
|
|
|
|
starter/starter.so: $(PROTO) starter/starter.c starter/cgroup_prepare.c starter/ns_exec.c starter/util.c
|
|
$(CC) -fPIC -shared -o starter/starter.so $^ -lrabbitmq -lprotobuf-c -I gen
|
|
|
|
transport/transport: $(PROTO) transport/utils.c transport/transport.c transport/transport.h starter/starter.so
|
|
$(CC) -o $@ gen/runner/v1/runner.pb-c.c transport/utils.c transport/transport.c starter/starter.so -I . -I starter -I gen -lrabbitmq -lprotobuf-c -lcurl -fsanitize=address -g
|
|
|
|
$(RUNS):
|
|
mkdir $(RUNS)
|
|
include tests/Makefile
|