BSPS=leon2 leon3 erc32
RTEMSDIR=rtems-4.8
PREFIX=/opt/rtems-4.8-mingw
EXTRA_CONFIG=

BSP_MP = leon3
PREFIX_MP=$(PREFIX)

all:
	$(MAKE) bootstrap configure compile

bootstrap:
	cd $(PREFIX)/src/$(RTEMSDIR); ./bootstrap

configure:
	-mkdir $(PREFIX)/src/build
	cd $(PREFIX)/src/build; \
	$(PREFIX)/src/$(RTEMSDIR)/configure --prefix=$(PREFIX) \
	--target=sparc-rtems $(EXTRA_CONFIG) --disable-itron --disable-tests --enable-cxx --disable-docs \
	--enable-rtemsbsp="$(BSPS)"

configure-samples:
	-mkdir $(PREFIX)/src/build
	cd $(PREFIX)/src/build; \
	$(PREFIX)/src/$(RTEMSDIR)/configure --prefix=$(PREFIX) \
	--target=sparc-rtems $(EXTRA_CONFIG) --disable-itron --enable-tests=samples --enable-cxx --disable-docs \
	--enable-rtemsbsp="$(BSPS)"

configure-tests:
	-mkdir $(PREFIX)/src/build
	cd $(PREFIX)/src/build; \
	$(PREFIX)/src/$(RTEMSDIR)/configure --prefix=$(PREFIX) \
	--target=sparc-rtems $(EXTRA_CONFIG) --disable-itron --enable-tests --enable-cxx --disable-docs \
	--enable-rtemsbsp="$(BSPS)"

# Configure RTEMS kernel for multi processing
configure-mp:
	-mkdir $(PREFIX_MP)/src/build-mp
	cd $(PREFIX_MP)/src/build-mp; \
        $(PREFIX_MP)/src/$(RTEMSDIR)/configure --prefix=$(PREFIX_MP) \
        --target=sparc-rtems $(EXTRA_CONFIG) --disable-itron --disable-tests --enable-cxx --disable-docs \
        --enable-multiprocessing \
        --enable-rtemsbsp="$(BSP_MP)"

compile:
	export PATH=$(PREFIX)/bin:$$PATH; cd $(PREFIX)/src/build; $(MAKE) all

compile-mp:
	export PATH=$(PREFIX_MP)/bin:$$PATH; cd $(PREFIX_MP)/src/build-mp; $(MAKE) all

install:
	export PATH=$(PREFIX)/bin:$$PATH; cd $(PREFIX)/src/build; $(MAKE) install

install-mp:
	export PATH=$(PREFIX_MP)/bin:$$PATH; cd $(PREFIX_MP)/src/build-mp; $(MAKE) install

clean:
	-rm -rf $(PREFIX)/src/build

clean-mp:
	-rm -rf $(PREFIX)/src/build-mp
	
veryclean: clean
	cd $(PREFIX)/src/$(RTEMSDIR); ./bootstrap -c
