# See the License for the specific language governing permissions and
# limitations under the License.
-NITCOPT=
+NITCOPT=--semi-global
+OLDNITCOPT=
+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: $(BINS)
-../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
+$(BINS): 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)
+ rm -r .nit_compile || true # to clean old .nit_compile generated file
-../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 '***************************************************************'
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