forked from xuos/xiuos
118 lines
5.3 KiB
Makefile
118 lines
5.3 KiB
Makefile
ifeq ($(BOARD), imx6q-sabrelite)
|
|
toolchain ?= arm-none-eabi-
|
|
user_ldflags = --specs=nosys.specs -Wl,-Map=user.map,-cref -N
|
|
cflags = -std=c11 -O2 -march=armv7-a -mtune=cortex-a9 -nostdlib -nodefaultlibs -mfloat-abi=soft -fno-pic -static -fno-builtin -fno-strict-aliasing -Wall -ggdb -Wno-unused -Werror -fno-omit-frame-pointer -fno-stack-protector -fno-pie
|
|
endif
|
|
ifeq ($(BOARD), zynq7000-zc702)
|
|
toolchain ?= arm-xilinx-eabi-
|
|
user_ldflags = -Wl,--start-group,-lgcc,-lc,--end-group -N
|
|
cflags = -std=c11 -O2 -march=armv7-a -mtune=cortex-a9 -nostdlib -nodefaultlibs -mfloat-abi=soft -fno-pic -static -fno-builtin -fno-strict-aliasing -Wall -ggdb -Wno-unused -Werror -fno-omit-frame-pointer -fno-stack-protector -fno-pie
|
|
board_specs = stub.o
|
|
#cflags = -Wall -g -std=c11
|
|
endif
|
|
ifeq ($(BOARD), ok1028a-c)
|
|
toolchain ?= aarch64-none-elf-
|
|
user_ldflags = -N -Ttext 0
|
|
cflags = -Wall -g -std=c11 -mtune=cortex-a72 -nostdlib -nodefaultlibs -fno-pic -static -fno-builtin -fno-strict-aliasing -Wall -ggdb -Wno-unused -Werror -fno-omit-frame-pointer -fno-stack-protector -fno-pie
|
|
board_specs = stub.o
|
|
endif
|
|
|
|
cc = ${toolchain}gcc
|
|
ld = ${toolchain}g++
|
|
objdump = ${toolchain}objdump
|
|
c_useropts = -O2
|
|
|
|
INC_DIR = -I$(KERNEL_ROOT)/services/shell/letter-shell \
|
|
-I$(KERNEL_ROOT)/services/lib/ipc \
|
|
-I$(KERNEL_ROOT)/services/lib/memory \
|
|
-I$(KERNEL_ROOT)/services/lib/serial \
|
|
-I$(KERNEL_ROOT)/services/lib/usyscall \
|
|
-I$(KERNEL_ROOT)/services/fs/libfs \
|
|
-I$(KERNEL_ROOT)/services/semaphore \
|
|
-I$(KERNEL_ROOT)/services/boards/$(BOARD) \
|
|
-I$(KERNEL_ROOT)/services/app
|
|
|
|
ifeq ($(BOARD), imx6q-sabrelite)
|
|
all: init test_fault simple_client simple_server shell fs_server semaphore_server test_semaphore test_ipc_null test_thread test_irq_hdlr test_irq_block test_irq_send eth_driver epit_server readme.txt | bin
|
|
else
|
|
all: init test_fault simple_client simple_server shell fs_server semaphore_server test_ipc_null test_thread test_semaphore readme.txt | bin
|
|
endif
|
|
../tools/mkfs/mkfs ./fs.img $^
|
|
@mv $(filter-out readme.txt, $^) bin
|
|
@mv *.o bin
|
|
@mv *.asm bin
|
|
|
|
bin:
|
|
@mkdir -p bin
|
|
|
|
ifeq ($(BOARD), imx6q-sabrelite)
|
|
test_irq_send: test_irq_sender.o usyscall.o arch_usyscall.o libserial.o printf.o
|
|
@${ld} ${user_ldflags} -e main -o $@ $^ ${board_specs}
|
|
@${objdump} -S $@ > $@.asm
|
|
|
|
eth_driver: enet_drv.o enet_test.o board_network.o enet_iomux_config.o imx6dq_gpio_map.o gpio.o ccm_pll.o libserial.o printf.o libmem.o usyscall.o arch_usyscall.o session.o libipc.o sabrelite_libtimer.o
|
|
@${ld} ${user_ldflags} -e main -o $@ $^ ${board_specs}
|
|
@${objdump} -S $@ > $@.asm
|
|
|
|
epit_server: timer.o epit.o ccm_pll.o usyscall.o arch_usyscall.o libserial.o printf.o libipc.o session.o
|
|
@${ld} ${user_ldflags} -e main -o $@ $^ ${board_specs}
|
|
@${objdump} -S $@ > $@.asm
|
|
endif
|
|
|
|
test_semaphore: test_semaphore.o libserial.o printf.o usyscall.o arch_usyscall.o
|
|
@${ld} ${user_ldflags} -e main -o $@ $^ ${board_specs}
|
|
@${objdump} -S $@ > $@.asm
|
|
|
|
test_ipc_null: test_ipc_null.o libserial.o printf.o usyscall.o arch_usyscall.o libipc.o session.o
|
|
@${ld} ${user_ldflags} -e main -o $@ $^ ${board_specs}
|
|
@${objdump} -S $@ > $@.asm
|
|
|
|
semaphore_server: semaphore_server.o libserial.o printf.o usyscall.o arch_usyscall.o libipc.o session.o
|
|
@${ld} ${user_ldflags} -e main -o $@ $^ ${board_specs}
|
|
@${objdump} -S $@ > $@.asm
|
|
|
|
test_thread: test_thread.o libserial.o printf.o usyscall.o arch_usyscall.o libfs.o libsemaphore.o libipc.o session.o libmem.o
|
|
@${ld} ${user_ldflags} -e main -o $@ $^ ${board_specs}
|
|
@${objdump} -S $@ > $@.asm
|
|
|
|
test_irq_block: test_irq_block.o libserial.o printf.o libipc.o session.o usyscall.o arch_usyscall.o libmem.o
|
|
@${ld} ${user_ldflags} -e main -o $@ $^ ${board_specs}
|
|
@${objdump} -S $@ > $@.asm
|
|
|
|
test_irq_hdlr: test_irq_handler.o libserial.o printf.o libipc.o session.o usyscall.o arch_usyscall.o libmem.o
|
|
@${ld} ${user_ldflags} -e main -o $@ $^ ${board_specs}
|
|
@${objdump} -S $@ > $@.asm
|
|
|
|
shell: shell_port.o libserial.o printf.o shell_cmd_list.o shell.o shell_ext.o libfs.o libipc.o session.o usyscall.o arch_usyscall.o libmem.o
|
|
@${ld} ${user_ldflags} -e main -o $@ $^ ${board_specs}
|
|
@${objdump} -S $@ > $@.asm
|
|
|
|
init: init.o libfs.o libipc.o session.o libserial.o printf.o usyscall.o arch_usyscall.o libmem.o
|
|
@${ld} ${user_ldflags} -e main -o $@ $^ ${board_specs}
|
|
@${objdump} -S $@ > $@.asm
|
|
|
|
test_fault: test_fault.o libserial.o printf.o usyscall.o arch_usyscall.o
|
|
@${ld} ${user_ldflags} -e main -o $@ $^ ${board_specs}
|
|
@${objdump} -S $@ > $@.asm
|
|
|
|
simple_client: simple_client.o libserial.o printf.o libipc.o session.o simple_service.o libfs.o usyscall.o arch_usyscall.o libmem.o
|
|
@${ld} ${user_ldflags} -e main -o $@ $^ ${board_specs}
|
|
@${objdump} -S $@ > $@.asm
|
|
|
|
simple_server: simple_server.o libserial.o printf.o libipc.o session.o simple_service.o usyscall.o arch_usyscall.o libmem.o
|
|
@${ld} ${user_ldflags} -e main -o $@ $^ ${board_specs}
|
|
@${objdump} -S $@ > $@.asm
|
|
|
|
fs_server: fs_server.o libfs.o fs.o libserial.o printf.o libipc.o session.o block_io.o usyscall.o arch_usyscall.o libmem.o
|
|
@${ld} ${user_ldflags} -e main -o $@ $^ ${board_specs}
|
|
@${objdump} -S $@ > $@.asm
|
|
|
|
test_priority: test_priority.o libserial.o printf.o usyscall.o arch_usyscall.o libmem.o
|
|
@${ld} ${user_ldflags} -e main -o $@ $^ ${board_specs}
|
|
@${objdump} -S $@ > $@.asm
|
|
|
|
%.o: %.c
|
|
@${cc} ${cflags} ${c_useropts} ${INC_DIR} -o $@ -c $<
|
|
|
|
%.o: %.S
|
|
@${cc} ${cflags} ${c_useropts} -o $@ -c $<
|