blob: d69aa282ecad25e44359792f3b9ece2053025c9b [file] [log] [blame]
CFLAGS += -O2 -g
CFLAGS += -std=gnu99 -Wall -Werror
CFLAGS += -DCONFIG_KPROBES
INCLUDES = -I include/ -I arch/x86/include/
CFLAGS += $(INCLUDES)
CFLAGS +=-Wl,-Tarch/x86/kernel/vmlinux.lds
ifeq ($(V),1)
Q=
NQ=@true
else
Q=@
NQ=@echo
endif
all: arch/x86/kernel/vmlinux.lds main parse-bzimage
arch/x86/kernel/vmlinux.lds: arch/x86/kernel/vmlinux.lds.S
$(NQ) ' LD ' $@
$(Q)$(CC) $(CFLAGS) $(INCLUDES) -E -P \
-D__ASSEMBLY__ -DLINKER_SCRIPT -o $@ $<
%.o: %.c *.h
$(NQ) ' CC ' $@
$(Q)$(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
parse-bzimage: parse-bzimage.c
$(NQ) ' CC ' $@
$(Q)$(CC) -o $@ $<
# Simply placing alpha before beta will ensure
# alpha runs prior to beta. This is expected given
# SORT() for the init tables work on the order level
# defined only:
#
# *(SORT(SECTION_TBL_ALL(SECTION_INIT_DATA)))
#
# The name of the struct places no effect to the actual linker order.
OBJS = arch/x86/kernel/sort-init.o \
start_kernel.o \
arch/x86/kernel/head64.c \
memory.o \
kasan.o\
arch/x86/kernel/init.o \
kprobes.o \
pci.o \
pci-quirks.o \
beta.o \
alpha.o \
driver.o \
xen.o \
xen-driver.o \
main.o
main: $(OBJS)
$(NQ) ' CC ' $@
$(Q)$(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $^
clean:
rm -f main parse-bzimage *.o arch/x86/kernel/vmlinux.lds