diff --git a/Makefile b/Makefile index 3f1921d75..9fe8d1ff9 100644 --- a/Makefile +++ b/Makefile @@ -33,13 +33,10 @@ SITEPACKAGES=root/lib/python$(PYMINOR)/site-packages all: build/pyodide.asm.html build/pyodide.js -build: - [ -d build ] || mkdir build - - build/pyodide.asm.html: src/main.bc src/jsimport.bc src/jsproxy.bc src/js2python.bc \ src/pyimport.bc src/pyproxy.bc src/python2js.bc \ - src/runpython.bc root/.built build + src/runpython.bc root/.built + [ -d build ] || mkdir build $(CC) -s EXPORT_NAME="'pyodide'" --bind -o $@ $(filter %.bc,$^) $(LDFLAGS) \ $(foreach d,$(wildcard root/*),--preload-file $d@/$(notdir $d)) @@ -52,7 +49,7 @@ clean: rm -fr root rm build/* rm src/*.bc - echo "CPython and Numpy builds were not cleaned" + echo "CPython and Numpy builds are not cleaned. cd into those directories to do so." %.bc: %.cpp $(CPYTHONLIB) @@ -65,7 +62,7 @@ root/.built: \ src/lazy_import.py \ src/sitecustomize.py \ remove_modules.txt - [ -d root ] && rm -rf root + rm -rf root mkdir -p root/lib cp -a $(CPYTHONLIB)/ root/lib cp -a numpy/build/numpy $(SITEPACKAGES) diff --git a/numpy/Makefile b/numpy/Makefile index 7df5fc11b..e00af3b5c 100644 --- a/numpy/Makefile +++ b/numpy/Makefile @@ -45,6 +45,7 @@ LDFLAGS=-Werror \ all: \ + $(BUILD)/numpy/__init__.py \ $(BUILDCORE)/multiarray.so \ $(BUILDCORE)/umath.so \ $(BUILDLINALG)/lapack_lite.so \ @@ -70,18 +71,18 @@ $(HOSTDIR)/setup.py: $(ZIPFILE) touch $(HOSTDIR)/setup.py -$(GENSRC)/multiarray/arraytypes.c: $(ROOT)/.patched +$(HOSTBUILD)/lib.$(PLATFORMSLUG)/numpy/__init__.py: $(ROOT)/.patched ( \ cd $(HOSTDIR); \ $(HOSTPYTHON) setup.py build \ ) -$(BUILD)/numpy/__init__.py: $(GENSRC)/multiarray/arraytypes.c +$(BUILD)/numpy/__init__.py: $(HOSTBUILD)/lib.$(PLATFORMSLUG)/numpy/__init__.py [ -d $(BUILD) ] || mkdir $(BUILD) cp -r $(HOSTBUILD)/lib.$(PLATFORMSLUG)/numpy $(BUILD) && \ cd $(BUILD); find . -name "*.so" -type f -delete - + touch $(BUILD)/numpy/__init__.py $(ROOT)/.patched: $(HOSTDIR)/setup.py cat patches/*.patch | (cd $(HOSTDIR) ; patch -p1)