X-Git-Url: http://nitlanguage.org diff --git a/src/Makefile b/src/Makefile index 2f3d7a1..8086bfd 100644 --- a/src/Makefile +++ b/src/Makefile @@ -14,37 +14,60 @@ # See the License for the specific language governing permissions and # limitations under the License. -NITCOPT= -OLDNITCOPT= -OBJS=nitg nitpick nit nitdoc nitls nitunit nitpretty nitmetrics nitx nitlight nitdbg_client nitserial +NITCOPT=--semi-global +OLDNITCOPT=--semi-global +OBJS=nitc nitpick nit nitls nitunit nitpm nitx nitlight nitserial nitrestful nitpackage SRCS=$(patsubst %,%.nit,$(OBJS)) BINS=$(patsubst %,../bin/%,$(OBJS)) +MOREOBJS=nitdoc nitweb nitcatalog nitmetrics nitpretty nitweb +MORESRCS=$(patsubst %,%.nit,$(MOREOBJS)) +MOREBINS=$(patsubst %,../bin/%,$(MOREOBJS)) +DEPS=$(wildcard *.nit */*.nit) parser/parser.nit -all: $(BINS) +# Workaround: Cygwin requires peflags to bootstrap +peflags := ${shell which peflags 2>/dev/null} -nitg_0: ../c_src/nitg parser/parser.nit +all: ../bin/nitc + +more: ../bin/nitdoc + +pre-build: + ./git-gen-version.sh + +nitc_0: ../c_src/nitc $(DEPS) @echo '***************************************************************' - @echo '* Compile nitg_0 from NIT source files *' + @echo '* Compile nitc_0 from NIT source files *' @echo '***************************************************************' ./git-gen-version.sh - ../c_src/nitg ${OLDNITCOPT} -o nitg_0 -v nitg.nit + ../c_src/nitc ${OLDNITCOPT} -o nitc_0 -v nitc.nit +ifdef peflags + ${peflags} --cygwin-heap=2048 nitc_0 +endif -$(BINS): nitg_0 parser/parser.nit +../bin/nitc: nitc_0 $(DEPS) @echo '***************************************************************' @echo '* Compile binaries from NIT source files *' @echo '***************************************************************' ./git-gen-version.sh - ./nitg_0 ${NITCOPT} -v --dir ../bin $(SRCS) + test -d ../bin || mkdir ../bin + ./nitc_0 ${NITCOPT} -v --dir ../bin $(SRCS) + +../bin/nitdoc: ../bin/nitc $(DEPS) + ../bin/nitc ${NITCOPT} -v --dir ../bin $(MORESRCS) -$(OBJS): nitg_0 parser/parser.nit +$(OBJS): nitc_0 $(DEPS) ./git-gen-version.sh - ./nitg_0 ${NITCOPT} -v $@.nit + ./nitc_0 ${NITCOPT} -v $@.nit -../c_src/nitg: ../c_src/*.c ../c_src/*.h ../c_src/Makefile +../c_src/nitc: ../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 +ifdef peflags + ${peflags} --cygwin-heap=2048 ../c_src/nitc +endif parser/parser.nit: @echo '***************************************************************' @@ -53,5 +76,5 @@ parser/parser.nit: cd parser; make clean: - rm -rf -- .nit_compile* version.nit nitg_0 2> /dev/null || true + rm -rf -- version.nit nitc_0 2> /dev/null || true cd parser; make clean