Commit d44ff5c7 authored by Stanislav Kinsbursky's avatar Stanislav Kinsbursky Committed by Pavel Emelyanov

make: move syscalls files and build to separated directory

This patch set moves all syscalls data to "arch/$(ARCH)" directory ("arch/x86"
in this particular case).
It does also some cleanup to syscalls-x86-64.sh.
Signed-off-by: 's avatarStanislav Kinsbursky <skinsbursky@openvz.org>
Looks-good-to: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent 760e595f
...@@ -46,21 +46,23 @@ OBJS += tty.o ...@@ -46,21 +46,23 @@ OBJS += tty.o
DEPS := $(patsubst %.o,%.d,$(OBJS)) DEPS := $(patsubst %.o,%.d,$(OBJS))
include Makefile.syscall
include Makefile.pie include Makefile.pie
.PHONY: all zdtm test rebuild clean distclean tags cscope \ .PHONY: all zdtm test rebuild clean distclean tags cscope \
docs help pie protobuf docs help pie protobuf x86
all: pie all: pie
$(Q) $(MAKE) $(PROGRAM) $(Q) $(MAKE) $(PROGRAM)
pie: protobuf pie: protobuf $(ARCH)
$(Q) $(MAKE) $(PIE-GEN) $(Q) $(MAKE) $(PIE-GEN)
protobuf: protobuf:
$(Q) $(MAKE) -C protobuf/ $(Q) $(MAKE) -C protobuf/
x86:
$(Q) $(MAKE) -C arch/x86/
%.o: %.c %.o: %.c
$(E) " CC " $@ $(E) " CC " $@
$(Q) $(CC) -c $(CFLAGS) $< -o $@ $(Q) $(CC) -c $(CFLAGS) $< -o $@
...@@ -95,7 +97,7 @@ rebuild: ...@@ -95,7 +97,7 @@ rebuild:
$(Q) $(RM) -f ./protobuf/*.pb-c.h $(Q) $(RM) -f ./protobuf/*.pb-c.h
$(Q) $(MAKE) $(Q) $(MAKE)
clean: cleanpie cleansyscall clean: cleanpie
$(E) " CLEAN" $(E) " CLEAN"
$(Q) $(RM) -f ./*.o $(Q) $(RM) -f ./*.o
$(Q) $(RM) -f ./*.d $(Q) $(RM) -f ./*.d
...@@ -106,6 +108,7 @@ clean: cleanpie cleansyscall ...@@ -106,6 +108,7 @@ clean: cleanpie cleansyscall
$(Q) $(RM) -f ./$(PROGRAM) $(Q) $(RM) -f ./$(PROGRAM)
$(Q) $(RM) -rf ./test/dump/ $(Q) $(RM) -rf ./test/dump/
$(Q) $(MAKE) -C protobuf/ clean $(Q) $(MAKE) -C protobuf/ clean
$(Q) $(MAKE) -C arch/x86/ clean
$(Q) $(MAKE) -C test/zdtm cleandep $(Q) $(MAKE) -C test/zdtm cleandep
$(Q) $(MAKE) -C test/zdtm clean $(Q) $(MAKE) -C test/zdtm clean
$(Q) $(MAKE) -C test/zdtm cleanout $(Q) $(MAKE) -C test/zdtm cleanout
......
...@@ -68,7 +68,7 @@ endif ...@@ -68,7 +68,7 @@ endif
CFLAGS += $(WARNINGS) $(DEFINES) CFLAGS += $(WARNINGS) $(DEFINES)
MAKEFLAGS := --no-print-directory MAKEFLAGS := --no-print-directory
SYSCALL-LIB = $(SRC_DIR)/syscall-x86-64.o SYSCALL-LIB = $(SRC_DIR)/arch/$(ARCH)/syscalls.o
PROTOBUF-LIB = $(SRC_DIR)/protobuf/protobuf-lib.o PROTOBUF-LIB = $(SRC_DIR)/protobuf/protobuf-lib.o
export E Q CC ECHO MAKE CFLAGS LIBS ARCH DEFINES MAKEFLAGS SRC_DIR SYSCALL-LIB SH export E Q CC ECHO MAKE CFLAGS LIBS ARCH DEFINES MAKEFLAGS SRC_DIR SYSCALL-LIB SH
......
SYS-DEF := include/syscall-x86-64.def SYS-DEF := $(SRC_DIR)/include/syscall-x86-64.def
SYS-ASM-COMMON := syscall-common-x86-64.S SYS-ASM-COMMON := syscall-common-x86-64.S
SYS-TYPES := include/syscall-types.h SYS-TYPES := $(SRC_DIR)/include/syscall-types.h
SYS-CODES := include/syscall-codes.h SYS-CODES := $(SRC_DIR)/include/syscall-codes.h
SYS-PROTO := include/syscall.h SYS-PROTO := $(SRC_DIR)/include/syscall.h
SYS-ASM := syscall-x86-64.S SYS-ASM := syscalls.S
SYS-GEN := syscalls-x86-64.sh SYS-GEN := syscalls-x86-64.sh
SYS-FLAGS := -fpie -Wstrict-prototypes -Wa,--noexecstack -D__ASSEMBLY__ -nostdlib -fomit-frame-pointer SYS-OBJ := syscalls.o
CFLAGS += -c -fpie -Wstrict-prototypes -Wa,--noexecstack -D__ASSEMBLY__ -nostdlib -fomit-frame-pointer -I$(shell pwd)
.DEFAULT_GOAL := x86
$(SYS-ASM): $(SYS-GEN) $(SYS-DEF) $(SYS-ASM-COMMON) $(SYS-TYPES) $(SYS-ASM): $(SYS-GEN) $(SYS-DEF) $(SYS-ASM-COMMON) $(SYS-TYPES)
$(E) " GEN " $@ $(E) " GEN " $@
...@@ -21,13 +25,17 @@ $(SYS-ASM): $(SYS-GEN) $(SYS-DEF) $(SYS-ASM-COMMON) $(SYS-TYPES) ...@@ -21,13 +25,17 @@ $(SYS-ASM): $(SYS-GEN) $(SYS-DEF) $(SYS-ASM-COMMON) $(SYS-TYPES)
$(SYS-ASM-COMMON) \ $(SYS-ASM-COMMON) \
$(SYS-TYPES) $(SYS-TYPES)
$(SYSCALL-LIB): $(SYS-ASM) %.o: %.S
$(E) " CC " $@ $(E) " CC " $@
$(Q) $(CC) -c $(CFLAGS) $(SYS-FLAGS) $< -o $@ $(Q) $(CC) $(CFLAGS) $^ -o $@
cleansyscall: x86: $(SYS-OBJ)
clean:
$(E) " CLEAN SYSCALLS" $(E) " CLEAN SYSCALLS"
$(Q) $(RM) -f ./$(SYS-ASM) $(Q) $(RM) -f $(SYS-ASM)
$(Q) $(RM) -f ./$(SYS-CODES) $(Q) $(RM) -f $(SYS-CODES)
$(Q) $(RM) -f ./$(SYS-PROTO) $(Q) $(RM) -f $(SYS-PROTO)
$(Q) $(RM) -f ./$(SYSCALL-LIB) $(Q) $(RM) -f $(SYS-OBJ)
.PHONY: clean x86
...@@ -2,15 +2,13 @@ ...@@ -2,15 +2,13 @@
in=$1 in=$1
codesout=$2 codesout=$2
codes=`echo $2 | sed -e 's/include\///g'`
protosout=$3 protosout=$3
protos=`echo $3 | sed -e 's/include\///g'`
asmout=$4 asmout=$4
asmcommon=$5 asmcommon=$5
prototypes=`echo $6 | sed -e 's/include\///g'` prototypes=`echo $6 | sed -e 's/.*include\///g'`
codesdef=`echo $codes | tr "[[:space:]].-" _` codesdef=`echo $codesout | sed -e 's/.*\/include\///g' | tr "[[:space:]].-" _`
protosdef=`echo $protos | tr "[[:space:]].-" _` protosdef=`echo $protosout | sed -e 's/.*\/include\///g' | tr "[[:space:]].-" _`
echo "/* Autogenerated, don't edit */" > $codesout echo "/* Autogenerated, don't edit */" > $codesout
echo "#ifndef $codesdef" >> $codesout echo "#ifndef $codesdef" >> $codesout
...@@ -20,10 +18,10 @@ echo "/* Autogenerated, don't edit */" > $protosout ...@@ -20,10 +18,10 @@ echo "/* Autogenerated, don't edit */" > $protosout
echo "#ifndef $protosdef" >> $protosout echo "#ifndef $protosdef" >> $protosout
echo "#define $protosdef" >> $protosout echo "#define $protosdef" >> $protosout
echo "#include \"$prototypes\"" >> $protosout echo "#include \"$prototypes\"" >> $protosout
echo "#include \"$codes\"" >> $protosout echo "#include \"$codesout\"" >> $protosout
echo "/* Autogenerated, don't edit */" > $asmout echo "/* Autogenerated, don't edit */" > $asmout
echo "#include \"$codes\"" >> $asmout echo "#include \"$codesout\"" >> $asmout
echo "#include \"$asmcommon\"" >> $asmout echo "#include \"$asmcommon\"" >> $asmout
cat $in | egrep -v '^#' | sed -e 's/\t\{1,\}/|/g' | awk -F '|' '{print "#define", $1, $2}' >> $codesout cat $in | egrep -v '^#' | sed -e 's/\t\{1,\}/|/g' | awk -F '|' '{print "#define", $1, $2}' >> $codesout
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment