X-Git-Url: http://nitlanguage.org diff --git a/src/Makefile b/src/Makefile index f76586e..6b9866a 100644 --- a/src/Makefile +++ b/src/Makefile @@ -14,85 +14,42 @@ # See the License for the specific language governing permissions and # limitations under the License. -NITCOPT= +NITCOPT=--semi-global +OLDNITCOPT=--semi-global +OBJS=nitc nitpick nit nitdoc nitls nitunit nitpretty nitmetrics nitx nitlight nitdbg_client nitserial +SRCS=$(patsubst %,%.nit,$(OBJS)) +BINS=$(patsubst %,../bin/%,$(OBJS)) -all: ../bin/nitdoc ../bin/nitmetrics ../bin/nitg ../bin/nit ../bin/nitx ../bin/nitunit ../bin/nitlight ../bin/nitls ../bin/nitdbg_client +all: bin/nitc -nitg_0: ../c_src/nitg parser/parser.nit - @echo '***************************************************************' - @echo '* Compile nitg_0 from NIT source files *' - @echo '***************************************************************' - ./git-gen-version.sh - ../c_src/nitg ${NITCOPT} --no-stacktrace -o nitg_0 -v nitg.nit - -../bin/nitg: nitg_0 parser/parser.nit - @echo '***************************************************************' - @echo '* Compile nitg from NIT source files *' - @echo '***************************************************************' +pre-build: ./git-gen-version.sh - ./nitg_0 ${NITCOPT} -o ../bin/nitg -v nitg.nit -../bin/nitdoc: ../bin/nitg +nitc_0: ../c_src/nitc parser/parser.nit @echo '***************************************************************' - @echo '* Compile nitdoc from NIT source files *' + @echo '* Compile nitc_0 from NIT source files *' @echo '***************************************************************' ./git-gen-version.sh - ../bin/nitg ${NITCOPT} -o ../bin/nitdoc -v nitdoc.nit + ../c_src/nitc ${OLDNITCOPT} -o nitc_0 -v nitc.nit -../bin/nitmetrics: ../bin/nitg +bin/nitc: nitc_0 parser/parser.nit @echo '***************************************************************' - @echo '* Compile nitmetrics from NIT source files *' + @echo '* Compile binaries from NIT source files *' @echo '***************************************************************' ./git-gen-version.sh - ../bin/nitg ${NITCOPT} -o ../bin/nitmetrics -v nitmetrics.nit + test -d ../bin || mkdir ../bin + ./nitc_0 ${NITCOPT} -v --dir ../bin $(SRCS) -../bin/nit: ../bin/nitg - @echo '***************************************************************' - @echo '* Compile nit from NIT source files *' - @echo '***************************************************************' +$(OBJS): nitc_0 parser/parser.nit ./git-gen-version.sh - ../bin/nitg ${NITCOPT} -o ../bin/nit -v nit.nit + ./nitc_0 ${NITCOPT} -v $@.nit -../bin/nitdbg_client : ../bin/nitg +../c_src/nitc: ../c_src/*.c ../c_src/*.h ../c_src/Makefile @echo '***************************************************************' - @echo '* Compile nitdbg_client from NIT source files *' - @echo '***************************************************************' - ./git-gen-version.sh - ../bin/nitg ${NITCOPT} -o ../bin/nitdbg_client -v nitdbg_client.nit - -../bin/nitx: ../bin/nitg - @echo '***************************************************************' - @echo '* Compile nitx from NIT source files *' - @echo '***************************************************************' - ./git-gen-version.sh - ../bin/nitg ${NITCOPT} -o ../bin/nitx -v nitx.nit - -../bin/nitunit : ../bin/nitg - @echo '***************************************************************' - @echo '* Compile nitunit from NIT source files *' - @echo '***************************************************************' - ./git-gen-version.sh - ../bin/nitg ${NITCOPT} -o ../bin/nitunit -v nitunit.nit - -../bin/nitlight : ../bin/nitg - @echo '***************************************************************' - @echo '* Compile nitlight from NIT source files *' - @echo '***************************************************************' - ./git-gen-version.sh - ../bin/nitg ${NITCOPT} -o ../bin/nitlight -v nitlight.nit - -../bin/nitls : ../bin/nitg - @echo '***************************************************************' - @echo '* Compile nitls from NIT source files *' - @echo '***************************************************************' - ./git-gen-version.sh - ../bin/nitg ${NITCOPT} -o ../bin/nitls -v nitls.nit - -../c_src/nitg: ../c_src/*.c ../c_src/*.h ../c_src/Makefile - @echo '***************************************************************' - @echo '* Compile nitg from C source files *' + @echo '* Compile nitc from C source files *' @echo '***************************************************************' cd ../c_src; make + rm ../c_src/*.o || true # to reduce disc used parser/parser.nit: @echo '***************************************************************' @@ -101,8 +58,5 @@ parser/parser.nit: cd parser; make clean: - rm -rf -- .nit_compile* version.nit 2> /dev/null || true + rm -rf -- version.nit nitc_0 2> /dev/null || true cd parser; make clean - -distclean: clean - cd parser; make distclean