2015-08-11 09:39:17 +02:00
|
|
|
override TOPDIR = $(shell pwd)
|
2015-06-26 20:49:43 +02:00
|
|
|
ARCH = x86
|
2015-08-03 22:23:43 +02:00
|
|
|
TARGET=x86_64-hermit
|
2015-08-11 09:39:17 +02:00
|
|
|
NJOBS=-j20
|
2015-06-26 20:49:43 +02:00
|
|
|
|
|
|
|
NEWLIB = $(TOPDIR)/$(ARCH)/$(TARGET)
|
|
|
|
RM = rm -rf
|
|
|
|
CD = cd
|
|
|
|
MKDIR = mkdir
|
|
|
|
TMP = $(TOPDIR)/tmp
|
2015-08-09 14:26:40 +02:00
|
|
|
OPT = --disable-shared --disable-multilib --enable-newlib-io-c99-formats --enable-newlib-multithread #--enable-newlib-reent-small
|
2015-06-26 20:49:43 +02:00
|
|
|
|
|
|
|
# Prettify output
|
|
|
|
V = 0
|
|
|
|
ifeq ($V,0)
|
|
|
|
Q = @
|
|
|
|
P = > /dev/null
|
|
|
|
endif
|
|
|
|
|
2015-08-11 09:39:17 +02:00
|
|
|
demo:
|
|
|
|
$Q$(MAKE) CC_FOR_TARGET=$(CC_FOR_TARGET) CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" LDFLAGS_FOR_TARGET="$(LDFLAGS_FOR_TARGET)" OBJCOPY_FOR_TARGET=$(OBJCOPY_FOR_TARGET) -C examples depend
|
|
|
|
$Q$(MAKE) CC_FOR_TARGET=$(CC_FOR_TARGET) CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" LDFLAGS_FOR_TARGET="$(LDFLAGS_FOR_TARGET)" OBJCOPY_FOR_TARGET=$(OBJCOPY_FOR_TARGET) -C examples
|
2015-06-26 20:49:43 +02:00
|
|
|
|
|
|
|
$(ARCH):
|
|
|
|
$Q$(MKDIR) $(TMP)
|
2015-08-11 09:39:17 +02:00
|
|
|
|
|
|
|
bootstrap: $(ARCH) $(TMP)/binutils $(TMP)/bootstrap
|
|
|
|
|
|
|
|
$(TMP)/binutils:
|
2015-08-03 22:23:43 +02:00
|
|
|
$Q$(MKDIR) $(TMP)/binutils
|
2015-08-11 09:39:17 +02:00
|
|
|
$Q$(CD) $(TMP)/binutils; $(TOPDIR)/binutils/configure --target=$(TARGET) --prefix=$(TOPDIR)/$(ARCH) --disable-shared --disable-nls --disable-gdb --disable-libdecnumber --disable-readline --disable-sim --disable-libssp --enable-tls && $(MAKE) $(NJOBS) && $(MAKE) install
|
|
|
|
|
|
|
|
|
|
|
|
$(TMP)/bootstrap:
|
|
|
|
$Q$(MKDIR) $(TMP)/bootstrap
|
|
|
|
$Q$(CD) $(TMP)/bootstrap; $(TOPDIR)/gcc/configure --target=$(TARGET) --prefix=$(TOPDIR)/$(ARCH) --without-headers --enable-languages=c --disable-nls --disable-shared --disable-libssp --enable-threads=posix --enable-tls && $(MAKE) $(NJOBS) all-gcc && $(MAKE) install-gcc
|
|
|
|
|
|
|
|
toolchain: $(TMP)/newlib $(TMP)/gcc demo
|
|
|
|
|
|
|
|
$(TMP)/newlib:
|
2015-08-03 22:23:43 +02:00
|
|
|
$Q$(MKDIR) $(TMP)/newlib
|
2015-08-11 09:39:17 +02:00
|
|
|
$Q$(CD) $(TMP)/newlib; $(TOPDIR)/newlib/configure --target=$(TARGET) --prefix=$(TOPDIR)/$(ARCH) $(OPT) && $(MAKE) $(NJOBS) && $(MAKE) install
|
|
|
|
$Q$(MAKE) TARGET=$(TARGET) CC_FOR_TARGET=$(CC_FOR_TARGET) AR_FOR_TARGET=$(AR_FOR_TARGET) CFLAGS_FOR_TARGET+="-O3 -I. -Iplatform/hermit -Iplatform/helper -Wall" -C pte depend
|
|
|
|
$Q$(MAKE) TARGET=$(TARGET) CC_FOR_TARGET=$(CC_FOR_TARGET) AR_FOR_TARGET=$(AR_FOR_TARGET) CFLAGS_FOR_TARGET+="-O3 -I. -Iplatform/hermit -Iplatform/helper -Wall" -C pte
|
|
|
|
|
|
|
|
$(TMP)/gcc:
|
2015-08-03 22:23:43 +02:00
|
|
|
$Q$(MKDIR) $(TMP)/gcc
|
2015-08-11 09:39:17 +02:00
|
|
|
$Q$(CD) $(TMP)/gcc; $(TOPDIR)/gcc/configure --target=$(TARGET) --prefix=$(TOPDIR)/$(ARCH) --without-headers --with-newlib --enable-languages=c --disable-nls --disable-shared --disable-libssp --enable-threads=posix --enable-tls && $(MAKE) $(NJOBS) && $(MAKE) install
|
2015-06-26 20:49:43 +02:00
|
|
|
|
|
|
|
clean:
|
2015-08-09 21:59:56 +02:00
|
|
|
@echo Cleaning toolchain
|
2015-06-26 20:49:43 +02:00
|
|
|
$Q$(MAKE) -C examples clean
|
|
|
|
$Q$(RM) $(TMP)
|
|
|
|
|
|
|
|
veryclean:
|
2015-08-09 21:59:56 +02:00
|
|
|
@echo Propper cleaning of the toolchain
|
2015-08-03 22:23:43 +02:00
|
|
|
$Q$(MAKE) -C pte veryclean
|
2015-06-26 20:49:43 +02:00
|
|
|
$Q$(MAKE) -C examples veryclean
|
|
|
|
$Q$(RM) $(TOPDIR)/$(ARCH)
|