| @@ -8,7 +8,7 @@ export CC=clang # clang compiles the output much faster than gcc! · 7 unmodified lines |
| 8 | | 8 | |
| 9 | ################################################################## | 9 | ################################################################## |
| 10 | | 10 | |
| 11 | MACHINE := $(shell $(CC) -dumpmachine) | 11 | export MACHINE := $(shell $(CC) -dumpmachine) |
| 12 | | 12 | |
| 13 | ifneq (, $(findstring darwin, $(MACHINE))) | 13 | ifneq (, $(findstring darwin, $(MACHINE))) |
| 14 | OS := darwin | 14 | OS := darwin |
| @@ -18,9 +18,19 @@ else ifneq (, $(findstring mingw, $(MACHINE))) · 3 unmodified lines |
| 18 | OS := windows | 18 | OS := windows |
| 19 | else ifneq (, $(findstring windows, $(MACHINE))) | 19 | else ifneq (, $(findstring windows, $(MACHINE))) |
| 20 | OS := windows | 20 | OS := windows |
| | 21 | else ifneq (, $(findstring bsd, $(MACHINE))) |
| | 22 | OS := bsd |
| 21 | else | 23 | else |
| 22 | OS := unix | 24 | OS := linux |
| 23 | endif | 25 | endif |
| | 26 | export OS |
| | 27 | |
| | 28 | ifeq ($(OS),bsd) |
| | 29 | MAKE := gmake |
| | 30 | else |
| | 31 | MAKE := make |
| | 32 | endif |
| | 33 | export MAKE |
| 24 | | 34 | |
| 25 | # current Idris2 version components | 35 | # current Idris2 version components |
| 26 | MAJOR=0 | 36 | MAJOR=0 |
| @@ -73,7 +83,7 @@ ifeq ($(OS), darwin) · 46 unmodified lines |
| 73 | else | 83 | else |
| 74 | @sed -i '1 s|^.*$$|char* idris2_prefix = "${PREFIX}";|' dist/idris2.c | 84 | @sed -i '1 s|^.*$$|char* idris2_prefix = "${PREFIX}";|' dist/idris2.c |
| 75 | endif | 85 | endif |
| 76 | make -C dist | 86 | ${MAKE} -C dist |
| 77 | @cp dist/idris2 ./idris2 | 87 | @cp dist/idris2 ./idris2 |
| 78 | | 88 | |
| 79 | # bit of a hack here, to get the prefix into the generated C! | 89 | # bit of a hack here, to get the prefix into the generated C! |
| @@ -86,42 +96,42 @@ dist/idris2.c: src/YafflePaths.idr check_version · 6 unmodified lines |
| 86 | @rm -f idris2.c idris2_prefix.c | 96 | @rm -f idris2.c idris2_prefix.c |
| 87 | | 97 | |
| 88 | idris2c: dist/idris2.c | 98 | idris2c: dist/idris2.c |
| 89 | make -C dist | 99 | ${MAKE} -C dist |
| 90 | | 100 | |
| 91 | src/YafflePaths.idr: | 101 | src/YafflePaths.idr: |
| 92 | echo 'module YafflePaths; export yversion : ((Nat,Nat,Nat), String); yversion = ((${MAJOR},${MINOR},${PATCH}), "${GIT_SHA1}")' > src/YafflePaths.idr | 102 | echo 'module YafflePaths; export yversion : ((Nat,Nat,Nat), String); yversion = ((${MAJOR},${MINOR},${PATCH}), "${GIT_SHA1}")' > src/YafflePaths.idr |
| 93 | | 103 | |
| 94 | prelude: | 104 | prelude: |
| 95 | make -C libs/prelude IDRIS2=../../idris2 | 105 | ${MAKE} -C libs/prelude IDRIS2=../../idris2 |
| 96 | | 106 | |
| 97 | base: prelude | 107 | base: prelude |
| 98 | make -C libs/base IDRIS2=../../idris2 | 108 | ${MAKE} -C libs/base IDRIS2=../../idris2 |
| 99 | | 109 | |
| 100 | network: prelude | 110 | network: prelude |
| 101 | make -C libs/network IDRIS2=../../idris2 | 111 | ${MAKE} -C libs/network IDRIS2=../../idris2 |
| 102 | make -C libs/network test IDRIS2=../../idris2 | 112 | ${MAKE} -C libs/network test IDRIS2=../../idris2 |
| 103 | | 113 | |
| 104 | contrib: prelude | 114 | contrib: prelude |
| 105 | make -C libs/contrib IDRIS2=../../idris2 | 115 | ${MAKE} -C libs/contrib IDRIS2=../../idris2 |
| 106 | | 116 | |
| 107 | libs : prelude base network contrib | 117 | libs : prelude base network contrib |
| 108 | | 118 | |
| 109 | clean: clean-libs | 119 | clean: clean-libs |
| 110 | make -C src clean | 120 | ${MAKE} -C src clean |
| 111 | make -C tests clean | 121 | ${MAKE} -C tests clean |
| 112 | make -C dist clean | 122 | ${MAKE} -C dist clean |
| 113 | rm -f runtests | 123 | rm -f runtests |
| 114 | rm -f idris2 dist/idris2.c | 124 | rm -f idris2 dist/idris2.c |
| 115 | | 125 | |
| 116 | clean-libs: | 126 | clean-libs: |
| 117 | make -C libs/prelude clean | 127 | ${MAKE} -C libs/prelude clean |
| 118 | make -C libs/base clean | 128 | ${MAKE} -C libs/base clean |
| 119 | make -C libs/network clean | 129 | ${MAKE} -C libs/network clean |
| 120 | make -C libs/contrib clean | 130 | ${MAKE} -C libs/contrib clean |
| 121 | | 131 | |
| 122 | test: | 132 | test: |
| 123 | idris --build tests.ipkg | 133 | idris --build tests.ipkg |
| 124 | @make -C tests only=$(only) | 134 | @${MAKE} -C tests only=$(only) |
| 125 | | 135 | |
| 126 | install-all: install-exec install-support install-libs | 136 | install-all: install-exec install-support install-libs |
| 127 | | 137 | |
| @@ -143,7 +153,7 @@ install-exec: · 15 unmodified lines |
| 143 | install idris2 ${PREFIX}/bin | 153 | install idris2 ${PREFIX}/bin |
| 144 | | 154 | |
| 145 | install-libs: libs | 155 | install-libs: libs |
| 146 | make -C libs/prelude install IDRIS2=../../idris2 | 156 | ${MAKE} -C libs/prelude install IDRIS2=../../idris2 |
| 147 | make -C libs/base install IDRIS2=../../idris2 | 157 | ${MAKE} -C libs/base install IDRIS2=../../idris2 |
| 148 | make -C libs/network install IDRIS2=../../idris2 IDRIS2_VERSION=${IDRIS2_VERSION} | 158 | ${MAKE} -C libs/network install IDRIS2=../../idris2 IDRIS2_VERSION=${IDRIS2_VERSION} |
| 149 | make -C libs/contrib install IDRIS2=../../idris2 | 159 | ${MAKE} -C libs/contrib install IDRIS2=../../idris2 |