X-Git-Url: http://nitlanguage.org diff --git a/src/Makefile b/src/Makefile index 080614c..dcf9b82 100644 --- a/src/Makefile +++ b/src/Makefile @@ -14,85 +14,60 @@ # 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 nitls nitunit nitx nitlight nitserial nitrestful nitpackage +SRCS=$(patsubst %,%.nit,$(OBJS)) +BINS=$(patsubst %,../bin/%,$(OBJS)) +MOREOBJS=nitdoc nitweb nitcatalog nitmetrics nitpretty nitweb nitpm +MORESRCS=$(patsubst %,%.nit,$(MOREOBJS)) +MOREBINS=$(patsubst %,../bin/%,$(MOREOBJS)) +DEPS=$(wildcard *.nit */*.nit) parser/parser.nit -all: ../bin/nitc ../bin/nitdoc ../bin/nits ../bin/nitmetrics ../bin/nitg ../bin/nit ../bin/nitx ../bin/netdbg ../bin/dbgcli ../bin/nitdox +# Workaround: Cygwin requires peflags to bootstrap +peflags := ${shell which peflags 2>/dev/null} -../bin/nitc: ../c_src/nitc parser/parser.nit - @echo '***************************************************************' - @echo '* Compile nitc from NIT source files *' - @echo '***************************************************************' - ./git-gen-version.sh - ../c_src/nitc ${NITCOPT} --clibdir ../c_src/clib -o ../bin/nitc -O -v nitc.nit - -../bin/nitdoc: ../bin/nitg - @echo '***************************************************************' - @echo '* Compile nitdoc from NIT source files *' - @echo '***************************************************************' - ./git-gen-version.sh - ../bin/nitg ${NITCOPT} -o ../bin/nitdoc -v nitdoc.nit - -../bin/nits: ../bin/nitg - @echo '***************************************************************' - @echo '* Compile nits from NIT source files *' - @echo '***************************************************************' - ./git-gen-version.sh - ../bin/nitg ${NITCOPT} -o ../bin/nits -v nits.nit - -../bin/nitmetrics: ../bin/nitg - @echo '***************************************************************' - @echo '* Compile nitmetrics from NIT source files *' - @echo '***************************************************************' - ./git-gen-version.sh - ../bin/nitg ${NITCOPT} -o ../bin/nitmetrics -v nitmetrics.nit +all: ../bin/nitc -../bin/nitg: ../bin/nitc - @echo '***************************************************************' - @echo '* Compile nitg from NIT source files *' - @echo '***************************************************************' - ./git-gen-version.sh - ../bin/nitc ${NITCOPT} -O -o ../bin/nitg -v nitg.nit +more: ../bin/nitdoc -../bin/nit: ../bin/nitg - @echo '***************************************************************' - @echo '* Compile nit from NIT source files *' - @echo '***************************************************************' +pre-build: ./git-gen-version.sh - ../bin/nitg ${NITCOPT} -o ../bin/nit -v nit.nit -../bin/nitx: ../bin/nitg +nitc_0: ../c_src/nitc $(DEPS) @echo '***************************************************************' - @echo '* Compile nitx from NIT source files *' + @echo '* Compile nitc_0 from NIT source files *' @echo '***************************************************************' ./git-gen-version.sh - ../bin/nitg ${NITCOPT} -o ../bin/nitx -v nitx.nit + ../c_src/nitc ${OLDNITCOPT} -o nitc_0 -v nitc.nit +ifdef peflags + ${peflags} --cygwin-heap=2048 nitc_0 +endif -../bin/nitdox: ../bin/nitg +../bin/nitc: nitc_0 $(DEPS) @echo '***************************************************************' - @echo '* Compile nitdcx from NIT source files *' + @echo '* Compile binaries from NIT source files *' @echo '***************************************************************' ./git-gen-version.sh - ../bin/nitg ${NITCOPT} -o ../bin/nitdox -v ni_nitdoc.nit + test -d ../bin || mkdir ../bin + ./nitc_0 ${NITCOPT} -v --dir ../bin $(SRCS) -../bin/netdbg : ../bin/nitc - @echo '***************************************************************' - @echo '* Compile netdbg from NIT source files *' - @echo '***************************************************************' - ./git-gen-version.sh - ../bin/nitc ${NITCOPT} -o ../bin/netdbg -O -v netdbg.nit +../bin/nitdoc: ../bin/nitc $(DEPS) + ../bin/nitc ${NITCOPT} -v --dir ../bin $(MORESRCS) -../bin/dbgcli : ../bin/nitc - @echo '***************************************************************' - @echo '* Compile dbgcli from NIT source files *' - @echo '***************************************************************' +$(OBJS): nitc_0 $(DEPS) ./git-gen-version.sh - ../bin/nitc ${NITCOPT} -o ../bin/dbgcli -O -v dbgcli.nit + ./nitc_0 ${NITCOPT} -v $@.nit -../c_src/nitc: ../c_src/*.c ../c_src/*.h ../c_src/nitc._build.sh ../c_src/Makefile +../c_src/nitc: ../c_src/*.c ../c_src/*.h ../c_src/Makefile @echo '***************************************************************' @echo '* Compile nitc from C source files *' @echo '***************************************************************' cd ../c_src; make + rm ../c_src/*.o || true # to reduce disc used +ifdef peflags + ${peflags} --cygwin-heap=2048 ../c_src/nitc +endif parser/parser.nit: @echo '***************************************************************' @@ -101,8 +76,5 @@ parser/parser.nit: cd parser; make clean: - rm -rf -- .nit_compile* nit_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