diff --git a/hermit/usr/Makefile b/hermit/usr/Makefile index f6930eef1..a45b5577e 100644 --- a/hermit/usr/Makefile +++ b/hermit/usr/Makefile @@ -41,14 +41,18 @@ $(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 +toolchain: $(TMP)/newlib libs $(TMP)/gcc demo $(TMP)/newlib: - @echo Build newlib and the pthread library + @echo Build newlib, libpthread and libgomp $Q$(MKDIR) $(TMP)/newlib $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 + +libs: + $Q$(MAKE) TARGET=$(TARGET) CC_FOR_TARGET=$(CC_FOR_TARGET) AR_FOR_TARGET=$(AR_FOR_TARGET) CFLAGS_FOR_TARGET+="-I. -Iplatform/hermit -Iplatform/helper -Wall -ftls-model=initial-exec" -C pte depend + $Q$(MAKE) TARGET=$(TARGET) CC_FOR_TARGET=$(CC_FOR_TARGET) AR_FOR_TARGET=$(AR_FOR_TARGET) CFLAGS_FOR_TARGET+="-I. -Iplatform/hermit -Iplatform/helper -Wall -ftls-model=initial-exec" -C pte + $Q$(MAKE) TARGET=$(TARGET) CC_FOR_TARGET=$(CC_FOR_TARGET) AR_FOR_TARGET=$(AR_FOR_TARGET) CFLAGS_FOR_TARGET+="-I. -Wall -pthread -ftls-model=initial-exec" -C libgomp depend + $Q$(MAKE) TARGET=$(TARGET) CC_FOR_TARGET=$(CC_FOR_TARGET) AR_FOR_TARGET=$(AR_FOR_TARGET) CFLAGS_FOR_TARGET+="-I. -Wall -pthread -ftls-model=initial-exec" -C libgomp $(TMP)/gcc: @echo Build final gcc @@ -63,5 +67,6 @@ clean: veryclean: @echo Propper cleaning of the toolchain $Q$(MAKE) -C pte veryclean + $Q$(MAKE) -C libgomp veryclean $Q$(MAKE) -C examples veryclean $Q$(RM) $(TOPDIR)/$(ARCH) diff --git a/hermit/usr/examples/Makefile b/hermit/usr/examples/Makefile index 432d4aa94..4349d2ce8 100644 --- a/hermit/usr/examples/Makefile +++ b/hermit/usr/examples/Makefile @@ -37,9 +37,13 @@ default: all all: hello jacobi stream thr_hello +stream.o: stream.c + @echo [CC] $@ + $Q$(CC_FOR_TARGET) -c $(CFLAGS_FOR_TARGET) -fopenmp -o $@ $< + stream: stream.o @echo [LD] $@ - $Q$(CC_FOR_TARGET) $(LDFLAGS_FOR_TARGET) $(CFLAGS_FOR_TARGET) -o $@ $< + $Q$(CC_FOR_TARGET) $(LDFLAGS_FOR_TARGET) $(CFLAGS_FOR_TARGET) -fopenmp -o $@ $< $Q$(OBJCOPY_FOR_TARGET) $(KEEP_DEBUG) $@ $@.sym $Q$(OBJCOPY_FOR_TARGET) $(STRIP_DEBUG) $@ $Qchmod a-x $@.sym