mirror of
https://github.com/checkpoint-restore/criu.git
synced 2026-07-24 02:29:23 +00:00
int32 with boolean value in protobuf has the same size with bool, many sysctls are boolean but we don't lose anything by storing them in int32, so add only int32 and string fields will need string field for stable_secret ipv6 sysctl also such fromat allows us to easily handle non-present int sysctls we can check if we have it using has_*arg v3: rebase images/Makefile to criu-dev branch v4: use enum for type Signed-off-by: Pavel Tikhomirov <ptikhomirov@virtuozzo.com> Reviewed-by: Andrew Vagin <avagin@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
116 lines
3.5 KiB
Makefile
116 lines
3.5 KiB
Makefile
proto-obj-y += stats.o
|
|
proto-obj-y += core.o
|
|
proto-obj-y += core-x86.o
|
|
proto-obj-y += core-arm.o
|
|
proto-obj-y += core-aarch64.o
|
|
proto-obj-y += core-ppc64.o
|
|
proto-obj-y += cpuinfo.o
|
|
proto-obj-y += inventory.o
|
|
proto-obj-y += fdinfo.o
|
|
proto-obj-y += fown.o
|
|
proto-obj-y += ns.o
|
|
proto-obj-y += regfile.o
|
|
proto-obj-y += ghost-file.o
|
|
proto-obj-y += fifo.o
|
|
proto-obj-y += remap-file-path.o
|
|
proto-obj-y += eventfd.o
|
|
proto-obj-y += eventpoll.o
|
|
proto-obj-y += fh.o
|
|
proto-obj-y += fsnotify.o
|
|
proto-obj-y += signalfd.o
|
|
proto-obj-y += fs.o
|
|
proto-obj-y += pstree.o
|
|
proto-obj-y += pipe.o
|
|
proto-obj-y += tcp-stream.o
|
|
proto-obj-y += sk-packet.o
|
|
proto-obj-y += mnt.o
|
|
proto-obj-y += pipe-data.o
|
|
proto-obj-y += sa.o
|
|
proto-obj-y += timer.o
|
|
proto-obj-y += timerfd.o
|
|
proto-obj-y += mm.o
|
|
proto-obj-y += sk-opts.o
|
|
proto-obj-y += sk-unix.o
|
|
proto-obj-y += sk-inet.o
|
|
proto-obj-y += tun.o
|
|
proto-obj-y += sk-netlink.o
|
|
proto-obj-y += packet-sock.o
|
|
proto-obj-y += ipc-var.o
|
|
proto-obj-y += ipc-desc.o
|
|
proto-obj-y += ipc-shm.o
|
|
proto-obj-y += ipc-msg.o
|
|
proto-obj-y += ipc-sem.o
|
|
proto-obj-y += utsns.o
|
|
proto-obj-y += creds.o
|
|
proto-obj-y += vma.o
|
|
proto-obj-y += netdev.o
|
|
proto-obj-y += tty.o
|
|
proto-obj-y += file-lock.o
|
|
proto-obj-y += rlimit.o
|
|
proto-obj-y += pagemap.o
|
|
proto-obj-y += siginfo.o
|
|
proto-obj-y += rpc.o
|
|
proto-obj-y += ext-file.o
|
|
proto-obj-y += cgroup.o
|
|
proto-obj-y += userns.o
|
|
proto-obj-y += google/protobuf/descriptor.o # To make protoc-c happy and compile opts.proto
|
|
proto-obj-y += opts.o
|
|
proto-obj-y += seccomp.o
|
|
proto-obj-y += binfmt-misc.o
|
|
proto-obj-y += time.o
|
|
proto-obj-y += sysctl.o
|
|
|
|
CFLAGS += -iquote $(obj)/
|
|
|
|
#
|
|
# Generates a set of names from protobuf "import" directive.
|
|
# The names are bare, ie no suffixes.
|
|
define gen-proto-dep-names
|
|
$(shell grep "^[[:blank:]]*import[[:blank:]]" $(1) | \
|
|
sed -e 's/[[:blank:]]*import[[:blank:]]*//' \
|
|
-e 's/[\";]//g' \
|
|
-e 's/\.proto//g' | \
|
|
sort | uniq)
|
|
endef
|
|
|
|
#
|
|
# Generates rules needed to compile protobuf files.
|
|
define gen-proto-rules
|
|
$(obj)/$(1).pb-c.c $(obj)/$(1).pb-c.h: $(obj)/$(1).proto $(addsuffix .pb-c.c,$(addprefix $(obj)/,$(2)))
|
|
$$(E) " PBCC " $$@
|
|
$$(Q) protoc-c --proto_path=$(obj)/ --c_out=$(obj)/ $$<
|
|
ifeq ($(PROTOUFIX),y)
|
|
$$(Q) sed -i -e 's/4294967295/0xFFFFFFFF/g' $$@
|
|
$$(Q) sed -i -e 's/4294967295/0xFFFFFFFF/g' $$(patsubst %.c,%.h,$$@)
|
|
$$(Q) sed -i -e 's/4294967295/0xFFFFFFFF/g' $$(patsubst %.h,%.c,$$@)
|
|
endif
|
|
$(obj)/$(1).pb-c.d: $(obj)/$(1).pb-c.c $(addsuffix .pb-c.d,$(addprefix $(obj)/,$(2)))
|
|
$$(E) " DEP " $$@
|
|
$$(Q) $$(CC) -M -MT $$@ -MT $(patsubst %.d,%.o,$$@) $$(CFLAGS) $$< -o $$@
|
|
endef
|
|
|
|
$(foreach file, $(proto-obj-y), \
|
|
$(eval $(call gen-proto-rules,$(file:.o=), \
|
|
$(call gen-proto-dep-names, \
|
|
$(addprefix $(obj)/,$(file:.o=.proto))))))
|
|
|
|
$(obj)/%.o: $(obj)/%.pb-c.c $(obj)/%.pb-c.h
|
|
$(E) " CC " $@
|
|
$(Q) $(CC) -c $(CFLAGS) $< -o $@
|
|
|
|
$(obj)/built-in.o: $(addprefix $(obj)/,$(proto-obj-y))
|
|
$(E) " LINK " $@
|
|
$(Q) $(LD) $(ldflags-y) -r -o $@ $^
|
|
|
|
ifneq ($(MAKECMDGOALS),clean)
|
|
ifneq ($(MAKECMDGOALS),mrproper)
|
|
-include $(addprefix $(obj)/,$(proto-obj-y:.o=.pb-c.d))
|
|
endif
|
|
endif
|
|
|
|
mrproper-y += $(obj)/*.pb-c.c $(obj)/*.pb-c.h
|
|
cleanup-y += $(obj)/*.o $(obj)/*.d $(obj)/*.s $(obj)/*.i
|
|
cleanup-y += $(obj)/google/protobuf/*.d
|
|
cleanup-y += $(obj)/google/protobuf/*.h
|
|
cleanup-y += $(obj)/google/protobuf/*.c
|
|
cleanup-y += $(obj)/google/protobuf/*.o
|