优化构建系统
This commit is contained in:
parent
13d933aad9
commit
85e0d52783
|
@ -1,5 +1,6 @@
|
||||||
ARCH := $(shell uname -m)
|
ARCH := $(shell uname -m)
|
||||||
SOURCE := $(shell pwd)/scripts
|
PWD := $(shell pwd)
|
||||||
|
SOURCE := ${PWD}/scripts
|
||||||
ifeq (${ARCH},x86_64)
|
ifeq (${ARCH},x86_64)
|
||||||
ASM = nasm
|
ASM = nasm
|
||||||
ASMFLAGS = -f elf64
|
ASMFLAGS = -f elf64
|
||||||
|
@ -11,7 +12,7 @@ endif
|
||||||
|
|
||||||
SUBOBJS = kernel/kernel.o libk/libk.o
|
SUBOBJS = kernel/kernel.o libk/libk.o
|
||||||
|
|
||||||
DEFINES = ARCH="${ARCH}" ASM="${ASM}" ASMFLAGS="${ASMFLAGS}" SOURCE="${SOURCE}"
|
DEFINES = ARCH="${ARCH}" ASM="${ASM}" ASMFLAGS="${ASMFLAGS}" SOURCE="${SOURCE}" PWD="${PWD}"
|
||||||
ifdef release
|
ifdef release
|
||||||
DEFINES := ${DEFINES} release=1
|
DEFINES := ${DEFINES} release=1
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -1,15 +1,17 @@
|
||||||
|
.SUFFIXES:
|
||||||
|
|
||||||
################################
|
################################
|
||||||
# C语言环境变量
|
# C语言环境变量
|
||||||
|
|
||||||
CC = gcc
|
CC = gcc
|
||||||
CCFLAGS = -m64 -mcmodel=large -I ../include \
|
CCFLAGS = -m64 -mcmodel=large -I ../../include \
|
||||||
-fno-stack-protector -fno-exceptions \
|
-fno-stack-protector -fno-exceptions \
|
||||||
-fno-builtin -nostdinc -nostdlib
|
-fno-builtin -nostdinc -nostdlib
|
||||||
ifdef release
|
ifdef release
|
||||||
CCFLAGS := ${CCFLAGS} -O2
|
CCFLAGS := ${CCFLAGS} -O2
|
||||||
endif
|
endif
|
||||||
|
|
||||||
C_SRCS = main.c tty.c klog.c font.c memm.c memm_${ARCH}.c raw.c
|
C_SRCS = main.c tty.c font.c memm.c memm_${ARCH}.c raw.c
|
||||||
C_OBJS = ${C_SRCS:.c=.c.o}
|
C_OBJS = ${C_SRCS:.c=.c.o}
|
||||||
|
|
||||||
################################
|
################################
|
||||||
|
@ -17,9 +19,9 @@ C_OBJS = ${C_SRCS:.c=.c.o}
|
||||||
################################
|
################################
|
||||||
# rust语音环境变量
|
# rust语音环境变量
|
||||||
|
|
||||||
RSCFLAGS = --emit=obj --target x86_64-unknown-linux-gnu --crate-type=bin
|
RSCFLAGS = --emit obj --crate-type lib -L crate="${PWD}/src/"
|
||||||
|
|
||||||
RS_SRCS =
|
RS_SRCS = klog.rs
|
||||||
RS_OBJS = ${RS_SRCS:.rs=.rs.o}
|
RS_OBJS = ${RS_SRCS:.rs=.rs.o}
|
||||||
|
|
||||||
################################
|
################################
|
||||||
|
@ -34,7 +36,7 @@ endif
|
||||||
ASMFLAGS := ${ASMFLAGS}
|
ASMFLAGS := ${ASMFLAGS}
|
||||||
ASMFLAGS32 = -f elf32
|
ASMFLAGS32 = -f elf32
|
||||||
|
|
||||||
S_SRCS = entry32.s entry.s memm_${ARCH}_s.s
|
S_SRCS = entry32.s entry.s memm_${ARCH}.s
|
||||||
S_OBJS = ${S_SRCS:.s=.s.o}
|
S_OBJS = ${S_SRCS:.s=.s.o}
|
||||||
|
|
||||||
################################
|
################################
|
||||||
|
|
|
@ -1,13 +1,10 @@
|
||||||
ARCH := $(shell uname -m)
|
.SUFFIXES:
|
||||||
ifdef release
|
|
||||||
release = 1
|
|
||||||
endif
|
|
||||||
|
|
||||||
################################
|
################################
|
||||||
# C语言环境变量
|
# C语言环境变量
|
||||||
|
|
||||||
CC = gcc
|
CC = gcc
|
||||||
CCFLAGS = -m64 -mcmodel=large -I ../include \
|
CCFLAGS = -m64 -mcmodel=large -I ../../include \
|
||||||
-fno-stack-protector -fno-exceptions \
|
-fno-stack-protector -fno-exceptions \
|
||||||
-fno-builtin -nostdinc -nostdlib
|
-fno-builtin -nostdinc -nostdlib
|
||||||
ifdef release
|
ifdef release
|
||||||
|
@ -22,7 +19,7 @@ C_OBJS = ${C_SRCS:.c=.c.o}
|
||||||
################################
|
################################
|
||||||
# rust语音环境变量
|
# rust语音环境变量
|
||||||
|
|
||||||
RSCFLAGS = --emit=obj --target x86_64-unknown-linux-gnu --crate-type=bin
|
RSCFLAGS = --emit obj --crate-type lib -L crate="${PWD}/src/"
|
||||||
|
|
||||||
RS_SRCS =
|
RS_SRCS =
|
||||||
RS_OBJS = ${RS_SRCS:.rs=.rs.o}
|
RS_OBJS = ${RS_SRCS:.rs=.rs.o}
|
||||||
|
|
Reference in New Issue