TOPDIR = $(shell pwd) ARCH = x86 ifeq ($(ARCH),x86) TARGET=i586-metalsvm-elf32 endif ifeq ($(ARCH),x86_64) TARGET=x86_64-metalsvm-elf64 endif NEWLIB = $(TOPDIR)/$(ARCH)/$(TARGET) 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) $(MAKE) -C examples depend $(MAKE) CFLAGS+="-nostdinc -Wall -fno-builtin -I$(NEWLIB)/include -I../../include -I../../arch/$(ARCH)/include" LDFLAGS+="-nostdlib -L$(NEWLIB)/lib" -C examples $(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)