Files
beaglefw/Makefile
Matthias Blankertz 76cc09a168 - WIP: OMAP35x SD/MMC controller driver
- WIP: Pagecache
- Added sleep() and usleep() functions
2013-07-19 19:51:40 +02:00

53 lines
1.8 KiB
Makefile

#CC=arm-none-eabi-gcc
AS=arm-none-eabi-as
CXX=arm-none-eabi-g++
OBJCOPY=arm-none-eabi-objcopy
OBJDUMP=arm-none-eabi-objdump
#CFLAGS=-ffreestanding -march=armv7-a -mcpu=cortex-a8 -mfloat-abi=softfp -mfpu=neon --std=gnu99 -ggdb -Wall -Wextra -pedantic -Wno-unused-parameter -Og -flto
CXXFLAGS=-ffreestanding -march=armv7-a -mcpu=cortex-a8 -mfloat-abi=softfp -mfpu=neon -mno-unaligned-access --std=c++11 -ggdb -Wall -Wextra -pedantic -Wno-unused-parameter -fno-rtti -fstrict-enums -Wabi -Og -flto
LDFLAGS=-static
C_SRCS=
CXX_SRCS=cortexa8.cc drv_omap35x_gpt.cc drv_omap35x_i2c.cc drv_omap35x_sdmmc.cc drv_tps65950.cc main.cc mm.cc newlib_syscall.cc omap35x.cc omap35x_intc.cc omap35x_prcm.cc pagecache.cc phys_mm.cc scheduler.cc sleep.cc syscall.cc uart.cc
S_SRCS=cortexa8_asm.s
OBJS=$(addprefix objs/,$(C_SRCS:.c=.o)) $(addprefix objs/,$(CXX_SRCS:.cc=.o)) $(addprefix objs/,$(S_SRCS:.s=.o))
all: fw.img
fw: $(OBJS) fw_cxx.ld
$(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $(OBJS) -lc -T fw_cxx.ld
fw.bin: fw
$(OBJCOPY) -O binary $< $@
fw.img: fw.bin
./mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e `$(OBJDUMP) -f fw | grep "start address" | cut -d\ -f 3` -n none -d $< $@
beagle-nand.bin: fw.img
./bb_nandflash.sh $< $@ kernel >/dev/null 2>&1
./bb_nandflash_ecc $@ 0x0 0xe80000 || true
qemu: beagle-nand.bin
qemu-system-arm -M beagle -m 256M -mtdblock beagle-nand.bin -sd sd.bin -nographic -s
objs/%.o: %.c
$(CXX) $(CXXFLAGS) -c -MMD -MP -o $@ $<
@cp objs/$*.d objs/$*.P; rm -f objs/$*.d
objs/%.o: %.cc
$(CXX) $(CXXFLAGS) -c -MMD -MP -o $@ $<
@cp objs/$*.d objs/$*.P; rm -f objs/$*.d
objs/%.o: %.s
$(AS) $(ASOPTS) -o $@ $<
clean:
rm -f $(OBJS) $(addprefix objs/,$(C_SRCS:.c=.P)) $(addprefix objs/,$(CXX_SRCS:.cc=.P)) fw fw.bin fw.img
.PSEUDO=all clean qemu
-include $(addprefix objs/,$(C_SRCS:.c=.P))
-include $(addprefix objs/,$(CXX_SRCS:.cc=.P))