diff options
author | Roman Yeryomin <roman@advem.lv> | 2013-05-17 20:40:24 +0300 |
---|---|---|
committer | Roman Yeryomin <roman@advem.lv> | 2013-05-17 20:40:24 +0300 |
commit | e6d87036412b952cb083eff2dc716aee97a771f2 (patch) | |
tree | 273dd3daaa85553832d3cc6d48276229dc7fbe09 /target/linux/realtek/files/arch/rlx/Makefile.new | |
parent | a18fec42221baa52fff4c5ffd45ec8f32e3add36 (diff) |
Move to rsdk 3.2.4. Compiles cleanly.
Signed-off-by: Roman Yeryomin <roman@advem.lv>
Diffstat (limited to 'target/linux/realtek/files/arch/rlx/Makefile.new')
-rw-r--r-- | target/linux/realtek/files/arch/rlx/Makefile.new | 181 |
1 files changed, 181 insertions, 0 deletions
diff --git a/target/linux/realtek/files/arch/rlx/Makefile.new b/target/linux/realtek/files/arch/rlx/Makefile.new new file mode 100644 index 000000000..6693076f5 --- /dev/null +++ b/target/linux/realtek/files/arch/rlx/Makefile.new @@ -0,0 +1,181 @@ +# +# This file is subject to the terms and conditions of the GNU General Public +# License. See the file "COPYING" in the main directory of this archive +# for more details. +# +# Copyright (C) 1994, 95, 96, 2003 by Ralf Baechle +# DECStation modifications by Paul M. Antoine, 1996 +# Copyright (C) 2002, 2003, 2004 Maciej W. Rozycki +# +# This file is included by the global makefile so that you can add your own +# architecture-specific flags and dependencies. Remember to do have actions +# for "archclean" cleaning up for this architecture. +# + +# +# Select the object file format to substitute into the linker script. +# +ifdef CONFIG_CPU_LITTLE_ENDIAN +32bit-bfd = elf32-tradlittlemips +32bit-emul = elf32ltsmip +else +32bit-bfd = elf32-tradbigmips +32bit-emul = elf32btsmip +endif + +CROSS_COMPILE := rsdk-linux- +UTS_MACHINE := rlx + +ld-emul = $(32bit-emul) +vmlinux-32 = vmlinux + +cflags-y := -ffunction-sections +cflags-y += $(call cc-option, -mno-check-zero-division) +cflags-y += -mabi=32 +cflags-y += -march=4181 + +# +# GCC uses -G 0 -mabicalls -fpic as default. We don't want PIC in the kernel +# code since it only slows down the whole thing. At some point we might make +# use of global pointer optimizations but their use of $28 conflicts with +# the current pointer optimization. +# +cflags-y += -G 0 -mno-abicalls -fno-pic -pipe +cflags-y += -msoft-float +LDFLAGS_vmlinux += -G 0 -static -n -nostdlib +MODFLAGS += -mlong-calls + +cflags-y += -ffreestanding + +# +# We explicitly add the endianness specifier if needed, this allows +# to compile kernels with a toolchain for the other endianness. We +# carefully avoid to add it redundantly because gcc 3.3/3.4 complains +# when fed the toolchain default! +# +# Certain gcc versions upto gcc 4.1.1 (probably 4.2-subversion as of +# 2006-10-10 don't properly change the predefined symbols if -EB / -EL +# are used, so we kludge that here. A bug has been filed at +# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29413. +# +undef-all += -UMIPSEB -U_MIPSEB -U__MIPSEB -U__MIPSEB__ +undef-all += -UMIPSEL -U_MIPSEL -U__MIPSEL -U__MIPSEL__ +predef-be += -DMIPSEB -D_MIPSEB -D__MIPSEB -D__MIPSEB__ +predef-le += -DMIPSEL -D_MIPSEL -D__MIPSEL -D__MIPSEL__ +cflags-$(CONFIG_CPU_BIG_ENDIAN) += -EB $(undef-all) $(predef-be) +cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -EL $(undef-all) $(predef-le) + +# +# BSP Makefile +# +ifdef CONFIG_RTL_8196C +include arch/rlx/bsp_rtl8196c/Makefile +KBUILD_CFLAGS += -I$(srctree)/arch/rlx/bsp_rtl8196c/ +else +ifdef CONFIG_RTL_8196E +include arch/rlx/bsp_rtl8196e/Makefile +KBUILD_CFLAGS += -I$(srctree)/arch/rlx/bsp_rtl8196e/ +else +ifdef CONFIG_RTL_8196EU +include arch/rlx/bsp_rtl8196eu/Makefile +KBUILD_CFLAGS += -I$(srctree)/arch/rlx/bsp_rtl8196eu/ +else +ifdef CONFIG_RTL_8198 +include arch/rlx/bsp_rtl8198/Makefile +KBUILD_CFLAGS += -I$(srctree)/arch/rlx/bsp_rtl8198/ +else +ifdef CONFIG_RTL_819XD +include arch/rlx/bsp_rtl819xD/Makefile +KBUILD_CFLAGS += -I$(srctree)/arch/rlx/bsp_rtl819xD/ +endif +endif +endif +endif +endif + +cflags-y += -I$(srctree)/arch/rlx/include/asm/mach-generic +drivers-$(CONFIG_PCI) += arch/rlx/pci/ + +ifdef CONFIG_CPU_LITTLE_ENDIAN +JIFFIES = jiffies_64 +else +JIFFIES = jiffies_64 + 4 +endif + +# +# Automatically detect the build format. By default we choose +# the elf format according to the load address. +# We can always force a build with a 64-bits symbol format by +# passing 'KBUILD_SYM32=no' option to the make's command line. +# +KBUILD_AFLAGS += $(cflags-y) +KBUILD_CFLAGS += $(cflags-y) \ + -D"VMLINUX_LOAD_ADDRESS=$(load-y)" + +LDFLAGS += -m $(ld-emul) + +CHECKFLAGS += $(shell $(CC) $(KBUILD_CFLAGS) -dM -E -xc /dev/null | \ + egrep -vw '__GNUC_(|MINOR_|PATCHLEVEL_)_' | \ + sed -e 's/^\#define /-D/' -e "s/ /='/" -e "s/$$/'/") + +OBJCOPYFLAGS += --remove-section=.reginfo + +# +# Choosing incompatible machines durings configuration will result in +# error messages during linking. Select a default linkscript if +# none has been choosen above. +# + +CPPFLAGS_vmlinux.lds := \ + $(KBUILD_CFLAGS) \ + -D"LOADADDR=$(load-y)" \ + -D"JIFFIES=$(JIFFIES)" \ + -D"DATAOFFSET=$(if $(dataoffset-y),$(dataoffset-y),0)" \ + -D"ZZ_DRAMSIZE_ZZ=8k" \ + -D"ZZ_IRAMSIZE_ZZ=8k" \ + -D"ZZ_L2RAMSIZE_ZZ=32k" + +head-y := arch/rlx/kernel/head.o arch/rlx/kernel/init_task.o +libs-y += arch/rlx/lib/ # Library support +#libs-y += arch/rlx/fw/lib/ # Firmware support +core-y += arch/rlx/kernel/ arch/rlx/mm/ + +drivers-$(CONFIG_OPROFILE) += arch/rlx/oprofile/ + +# +# Targets +# +vmlinux.32: vmlinux + $(OBJCOPY) -O $(32bit-bfd) $(OBJCOPYFLAGS) $< $@ + +makeboot =$(Q)$(MAKE) $(build)=arch/rlx/boot VMLINUX=$(vmlinux-32) $(1) + +all: vmlinux.32 + +vmlinux.bin: $(vmlinux-32) + +@$(call makeboot,$@) + +archprepare: +#ifdef CONFIG_MIPS32_O32 +# @echo ' Checking missing-syscalls for O32' +# $(Q)$(MAKE) $(build)=. missing-syscalls EXTRA_CFLAGS="-mabi=32" +#endif + +install: + $(Q)install -D -m 755 vmlinux $(INSTALL_PATH)/vmlinux-$(KERNELRELEASE) + $(Q)install -D -m 644 .config $(INSTALL_PATH)/config-$(KERNELRELEASE) + $(Q)install -D -m 644 System.map $(INSTALL_PATH)/System.map-$(KERNELRELEASE) + +archclean: + @$(MAKE) $(clean)=arch/rlx/boot + +define archhelp + echo ' install - install kernel into $(INSTALL_PATH)' + echo ' vmlinux.ecoff - ECOFF boot image' + echo ' vmlinux.bin - Raw binary boot image' + echo ' vmlinux.srec - SREC boot image' + echo + echo ' These will be default as apropriate for a configured platform.' +endef + +CLEAN_FILES += vmlinux.32 vmlinux.bin |