48 lines
967 B
Makefile
48 lines
967 B
Makefile
![]() |
TOPDIR = $(shell pwd)
|
||
|
ARCH = x86
|
||
|
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
|
||
|
|
||
|
ifeq ($(ARCH),x86)
|
||
|
TARGET=i586-metalsvm-elf32
|
||
|
endif
|
||
|
ifeq ($(ARCH),x86_64)
|
||
|
TARGET=x86_64-metalsvm-elf64
|
||
|
endif
|
||
|
|
||
|
|
||
|
default: $(ARCH)
|
||
|
$(MAKE) -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)
|