mirror of
https://github.com/checkpoint-restore/criu.git
synced 2026-07-25 19:14:04 +00:00
The reason for this patch is that only phony goal can depend on phony targets. But with protobuf we will have to execute phony targets prior to main target build. So, this patch set add few new goals and dependences: 1) "all" become default goal. 2) new goals "deps" and "preq" introduced. 3) "all" depends on "deps" and "crtools". 4) All global goals like "zdtm" and "test-legacy" now depends on "all". Signed-off-by: Stanislav Kinsbursky <skinsbursky@openvz.org> Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
170 lines
3.4 KiB
Makefile
170 lines
3.4 KiB
Makefile
include Makefile.inc
|
|
|
|
CFLAGS += -I./include
|
|
CFLAGS += -O0 -ggdb3
|
|
|
|
LIBS += -lrt -lpthread
|
|
|
|
DEFINES += -D_FILE_OFFSET_BITS=64
|
|
DEFINES += -D_GNU_SOURCE
|
|
|
|
ifneq ($(WERROR),0)
|
|
WARNINGS += -Werror
|
|
endif
|
|
|
|
ifeq ($(DEBUG),1)
|
|
DEFINES += -DCR_DEBUG
|
|
endif
|
|
|
|
WARNINGS += -Wall
|
|
CFLAGS += $(WARNINGS) $(DEFINES)
|
|
|
|
PROGRAM := crtools
|
|
|
|
export CC ECHO MAKE CFLAGS LIBS ARCH DEFINES
|
|
|
|
OBJS += parasite-syscall.o
|
|
OBJS += cr-restore.o
|
|
OBJS += crtools.o
|
|
OBJS += proc_parse.o
|
|
OBJS += cr-dump.o
|
|
OBJS += cr-show.o
|
|
OBJS += cr-check.o
|
|
OBJS += util.o
|
|
OBJS += util-net.o
|
|
OBJS += sysctl.o
|
|
OBJS += ptrace.o
|
|
OBJS += kcmp-ids.o
|
|
OBJS += rbtree.o
|
|
OBJS += log.o
|
|
OBJS += libnetlink.o
|
|
OBJS += sockets.o
|
|
OBJS += sk-inet.o
|
|
OBJS += sk-tcp.o
|
|
OBJS += sk-unix.o
|
|
OBJS += sk-queue.o
|
|
OBJS += files.o
|
|
OBJS += pipes.o
|
|
OBJS += file-ids.o
|
|
OBJS += namespaces.o
|
|
OBJS += uts_ns.o
|
|
OBJS += ipc_ns.o
|
|
OBJS += netfilter.o
|
|
OBJS += shmem.o
|
|
OBJS += eventfd.o
|
|
OBJS += eventpoll.o
|
|
OBJS += mount.o
|
|
OBJS += inotify.o
|
|
|
|
DEPS := $(patsubst %.o,%.d,$(OBJS))
|
|
|
|
include Makefile.syscall
|
|
include Makefile.pie
|
|
|
|
.PHONY: all test-legacy zdtm test rebuild clean distclean tags cscope \
|
|
docs help deps preq
|
|
|
|
all: deps $(PROGRAM)
|
|
|
|
deps: preq $(DEPS)
|
|
|
|
preq: $(SYS-OBJ) $(PIE-GEN)
|
|
|
|
%.o: %.c
|
|
$(E) " CC " $@
|
|
$(Q) $(CC) -c $(CFLAGS) $< -o $@
|
|
|
|
%.i: %.c
|
|
$(E) " CC " $@
|
|
$(Q) $(CC) -E $(CFLAGS) $< -o $@
|
|
|
|
%.s: %.c
|
|
$(E) " CC " $@
|
|
$(Q) $(CC) -S $(CFLAGS) -fverbose-asm $< -o $@
|
|
|
|
%.d: %.c
|
|
$(E) " DEP " $@
|
|
$(Q) $(CC) -M -MT $@ -MT $(patsubst %.d,%.o,$@) $(CFLAGS) $< -o $@
|
|
|
|
$(DEPS) $(OBJS): $(SYS-OBJ) $(PIE-GEN)
|
|
|
|
$(PROGRAM): $(OBJS)
|
|
$(E) " LINK " $@
|
|
$(Q) $(CC) $(CFLAGS) $(OBJS) $(LIBS) $(SYS-OBJ) -o $@
|
|
|
|
test-legacy: all
|
|
$(Q) $(MAKE) -C test/legacy all
|
|
|
|
zdtm: all
|
|
$(Q) $(MAKE) -C test/zdtm all
|
|
|
|
test: zdtm
|
|
$(Q) $(SH) test/zdtm.sh
|
|
|
|
rebuild:
|
|
$(E) " FORCE-REBUILD"
|
|
$(Q) $(RM) -f ./*.o
|
|
$(Q) $(RM) -f ./*.d
|
|
$(Q) $(MAKE)
|
|
|
|
clean: cleanpie cleansyscall
|
|
$(E) " CLEAN"
|
|
$(Q) $(RM) -f ./*.o
|
|
$(Q) $(RM) -f ./*.d
|
|
$(Q) $(RM) -f ./*.i
|
|
$(Q) $(RM) -f ./*.img
|
|
$(Q) $(RM) -f ./*.out
|
|
$(Q) $(RM) -f ./*.bin
|
|
$(Q) $(RM) -f ./$(PROGRAM)
|
|
$(Q) $(RM) -rf ./test/dump/
|
|
$(Q) $(MAKE) -C test/legacy clean
|
|
$(Q) $(MAKE) -C test/zdtm cleandep
|
|
$(Q) $(MAKE) -C test/zdtm clean
|
|
$(Q) $(MAKE) -C test/zdtm cleanout
|
|
$(Q) $(MAKE) -C Documentation clean
|
|
|
|
distclean: clean
|
|
$(E) " DISTCLEAN"
|
|
$(Q) $(RM) -f ./tags
|
|
$(Q) $(RM) -f ./cscope*
|
|
|
|
tags:
|
|
$(E) " GEN" $@
|
|
$(Q) $(RM) -f tags
|
|
$(Q) $(FIND) . -name '*.[hcS]' ! -path './.*' -print | xargs ctags -a
|
|
|
|
cscope:
|
|
$(E) " GEN" $@
|
|
$(Q) $(FIND) . -name '*.[hcS]' ! -path './.*' -print > cscope.files
|
|
$(Q) $(CSCOPE) -bkqu
|
|
|
|
docs:
|
|
$(Q) $(MAKE) -s -C Documentation all
|
|
|
|
help:
|
|
$(E) ' Targets:'
|
|
$(E) ' all - Build all [*] targets'
|
|
$(E) ' * crtools - Build crtools'
|
|
$(E) ' zdtm - Build zdtm test-suite'
|
|
$(E) ' docs - Build documentation'
|
|
$(E) ' clean - Clean everything'
|
|
$(E) ' tags - Generate tags file (ctags)'
|
|
$(E) ' cscope - Generate cscope database'
|
|
$(E) ' rebuild - Force-rebuild of [*] targets'
|
|
$(E) ' test - Run zdtm test-suite'
|
|
|
|
deps-targets := $(OBJS) $(patsubst %.o,%.s,$(OBJS)) $(patsubst %.o,%.i,$(OBJS)) $(PROGRAM) zdtm test-legacy
|
|
|
|
.DEFAULT_GOAL := all
|
|
|
|
ifneq ($(filter $(deps-targets), $(MAKECMDGOALS)),)
|
|
INCDEPS := 1
|
|
endif
|
|
|
|
ifeq ($(MAKECMDGOALS),)
|
|
INCDEPS := 1
|
|
endif
|
|
|
|
ifeq ($(INCDEPS),1)
|
|
-include $(DEPS)
|
|
endif
|