model: add `MEntity::is_broken`
[nit.git] / src / Makefile
index 8440ee7..b46e488 100644 (file)
 # 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/nitc ../bin/nitdoc ../bin/nits
+all: bin/nitc
 
-../bin/nitc: ../c_src/nitc parser/parser.nit
+nitc_0: ../c_src/nitc parser/parser.nit
        @echo '***************************************************************'
-       @echo '* Compile nitc from NIT source files                          *'
+       @echo '* Compile nitc_0 from NIT source files                        *'
        @echo '***************************************************************'
        ./git-gen-version.sh
-       ../c_src/nitc ${NITCOPT} --clibdir ../c_src/clib -o ../bin/nitc -O -v nitc.nit
+       ../c_src/nitc ${OLDNITCOPT} -o nitc_0 -v nitc.nit
 
-../bin/nitdoc: ../bin/nitc
+bin/nitc: nitc_0 parser/parser.nit
        @echo '***************************************************************'
-       @echo '* Compile nitdoc from NIT source files                        *'
+       @echo '* Compile binaries from NIT source files                      *'
        @echo '***************************************************************'
        ./git-gen-version.sh
-       ../bin/nitc ${NITCOPT} -o ../bin/nitdoc -O -v nitdoc.nit
+       test -d ../bin || mkdir ../bin
+       ./nitc_0 ${NITCOPT} -v --dir ../bin $(SRCS)
 
-../bin/nits: ../bin/nitc
-       @echo '***************************************************************'
-       @echo '* Compile nits from NIT source files                        *'
-       @echo '***************************************************************'
+$(OBJS): nitc_0 parser/parser.nit
        ./git-gen-version.sh
-       ../bin/nitc ${NITCOPT} -o ../bin/nits -O -v nits.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
 
 parser/parser.nit:
        @echo '***************************************************************'
@@ -52,8 +55,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