2011-02-16 09:38:14 +00:00
|
|
|
TOPDIR = $(shell pwd)
|
|
|
|
ARCH = x86
|
2011-02-16 14:18:59 +01:00
|
|
|
|
|
|
|
ifeq ($(ARCH),x86)
|
|
|
|
TARGET=i586-metalsvm-elf32
|
|
|
|
endif
|
|
|
|
ifeq ($(ARCH),x86_64)
|
|
|
|
TARGET=x86_64-metalsvm-elf64
|
|
|
|
endif
|
|
|
|
|
|
|
|
NEWLIB = $(TOPDIR)/$(ARCH)/$(TARGET)
|
2011-02-16 09:38:14 +00:00
|
|
|
RM = rm -rf
|
|
|
|
CD = cd
|
|
|
|
MKDIR = mkdir
|
|
|
|
TMP = $(TOPDIR)/tmp
|
|
|
|
OPT = --disable-shared --disable-multilib --enable-newlib-hw-fp
|
|
|
|
|
|
|
|
export CC_FOR_TARGET=gcc
|
|
|
|
export CXX_FOR_TARGET=g++
|
|
|
|
export GCC_FOR_TARGET=gcc
|
|
|
|
export AR_FOR_TARGET=ar
|
|
|
|
export AS_FOR_TARGET=as
|
|
|
|
export LD_FOR_TARGET=ld
|
|
|
|
export NM_FOR_TARGET=nm
|
|
|
|
export OBJDUMP_FOR_TARGET=objdump
|
|
|
|
export RANLIB_FOR_TARGET=ranlib
|
|
|
|
export STRIP_FOR_TARGET=strip
|
|
|
|
export READELF_FOR_TARGET=readelf
|
|
|
|
export CFLAGS
|
|
|
|
export CXXFLAGS=$(CFLAGS)
|
|
|
|
export CPPFLAGS=$(CFLAGS)
|
|
|
|
export NASMFLAGS
|
|
|
|
|
|
|
|
default: $(ARCH)
|
2011-02-16 10:23:31 +00:00
|
|
|
$(MAKE) -C examples depend
|
2011-02-16 14:18:59 +01:00
|
|
|
$(MAKE) CFLAGS+="-nostdinc -Wall -fno-builtin -I$(NEWLIB)/include -I../../include -I../../arch/$(ARCH)/include" LDFLAGS="-nostdlib -L$(NEWLIB)/lib" -C examples
|
2011-02-16 09:38:14 +00:00
|
|
|
|
|
|
|
$(ARCH):
|
|
|
|
$(RM) $(TMP)
|
|
|
|
$(MKDIR) $(TMP)
|
|
|
|
$(CD) $(TMP); $(TOPDIR)/src/configure --target=$(TARGET) --prefix=$(TOPDIR)/$(ARCH) $(OPT) && make && make install
|
|
|
|
|
|
|
|
clean:
|
|
|
|
$(MAKE) -C examples clean
|
|
|
|
$(RM) $(TMP)
|
|
|
|
|
|
|
|
veryclean: clean
|
|
|
|
$(MAKE) -C examples clean
|
|
|
|
$(RM) $(TOPDIR)/$(ARCH)
|