###################################################################### ## ## Copyright (C) 2010, Karlsruhe University ## ## File path: arch/x86/x64/Makeconf ## Description: Generic linkser script for x86. ## ## Redistribution and use in source and binary forms, with or without ## modification, are permitted provided that the following conditions ## are met: ## 1. Redistributions of source code must retain the above copyright ## notice, this list of conditions and the following disclaimer. ## 2. Redistributions in binary form must reproduce the above copyright ## notice, this list of conditions and the following disclaimer in the ## documentation and/or other materials provided with the distribution. ## ## THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ## ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ## ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE ## FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ## DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ## OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ## HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ## LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ## OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ## SUCH DAMAGE. ## ## $Id$ ## ###################################################################### SOURCES += $(addprefix src/arch/x86/x64/, init32.cc cpu.cc) CCFLAGS_src/arch/x86/x64/init32 = -DX64_32BIT_CODE\ $(patsubst -m64, -m32,\ $(patsubst -mcmodel=kernel, ,\ $(CCFLAGS))) src/arch/x86/x64/init32.o: src/arch/x86/x64/init32.cc @$(ECHO_MSG) $(subst $(SRCDIR)/,,$<) @if [ ! -d $(dir $@) ]; then $(MKDIRHIER) $(dir $@); fi cd $(dir $@) && $(CC) $(CPPFLAGS) $(CCFLAGS_$*) -x c++ -c $< -o $(notdir $@) cd $(dir $@) && $(OBJCOPY) -g -O elf64-x86-64 $(notdir $@) $(notdir $@)