Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DU_NUM=du4
- RO_PATH=public-ro/mlc
- RO_PATH_DU=${RO_PATH}/${DU_NUM}
- RW_PATH=public-rw/SWI098
- RW_PATH_DU=${RW_PATH}/${DU_NUM}
- MLSY=`cd ${RO_PATH_DU}/tests/; ls *.mls`
- EDITOR=vim
- CFLAGS+=-Wall -I${RO_PATH_DU}/h/ -I${RW_PATH}/${DU_NUM}/ -I${RO_PATH}/h/ -I${RO_PATH}/common/h/ -Ipublic-ro/common/h/ -I.
- program: ${DU_NUM}.o ${DU_NUM}g.o ${DU_NUM}baseerrtab.o duseemptyerrtab.o duerr.o flex.o fac1.o fac2.o fac3.o fac4.o fac5.o dutables.o sem.o x1.o x2.o x3.o
- ${CXX} ${LDFLAGS} -o program ${DU_NUM}.o ${DU_NUM}baseerrtab.o flex.o duseemptyerrtab.o duerr.o ${DU_NUM}g.o fac1.o fac2.o fac3.o fac4.o fac5.o dutables.o sem.o x1.o x2.o x3.o
- fac1.o: ${RO_PATH}/../common/src/labeled_icblock.cpp
- ${CXX} ${CPPFLAGS} ${CFLAGS} -c -o $@ ${RO_PATH}/../common/src/labeled_icblock.cpp
- fac2.o:
- ${CXX} ${CPPFLAGS} ${CFLAGS} -c -o $@ ${RO_PATH}/../common/src/flat_icblock.cpp
- fac3.o: ${RO_PATH}/../common/src/ic_instr.cpp
- ${CXX} ${CPPFLAGS} ${CFLAGS} -c -o $@ ${RO_PATH}/../common/src/ic_instr.cpp
- fac4.o: ${RO_PATH}/../common/src/uid_gen.cpp
- ${CXX} ${CPPFLAGS} ${CFLAGS} -c -o $@ ${RO_PATH}/../common/src/uid_gen.cpp
- fac5.o: ${RO_PATH}/../common/src/abstract_ic.cpp
- ${CXX} ${CPPFLAGS} ${CFLAGS} -c -o $@ ${RO_PATH}/../common/src/abstract_ic.cpp
- # x
- sem.o: ${RW_PATH_DU}/du4sem.cpp
- ${CXX} ${CPPFLAGS} ${CFLAGS} -c -o $@ ${RW_PATH_DU}/du4sem.cpp
- x1.o: ${RW_PATH_DU}/gen_aifactory.cpp
- ${CXX} ${CPPFLAGS} ${CFLAGS} -c -o $@ ${RW_PATH_DU}/gen_aifactory.cpp
- x2.o: ${RW_PATH_DU}/gen_icfactory.cpp
- ${CXX} ${CPPFLAGS} ${CFLAGS} -c -o $@ ${RW_PATH_DU}/gen_icfactory.cpp
- x3.o: ${RW_PATH_DU}/gen_icinstrtab.cpp
- ${CXX} ${CPPFLAGS} ${CFLAGS} -c -o $@ ${RW_PATH_DU}/gen_icinstrtab.cpp
- ## du
- ${DU_NUM}.o: ${RO_PATH_DU}/h/${DU_NUM}.h ${RO_PATH_DU}/h/${DU_NUM}tok.h ${RO_PATH}/h/duerr.h ${RO_PATH_DU}/src/${DU_NUM}.cpp
- ${CXX} ${CPPFLAGS} ${CFLAGS} -o $@ -c ${RO_PATH_DU}/src/${DU_NUM}.cpp
- ${DU_NUM}baseerrtab.o: ${RO_PATH_DU}/h/dubaseerr.h ${RO_PATH_DU}/src/${DU_NUM}baseerrtab.cpp
- ${CXX} ${CPPFLAGS} ${CFLAGS} -o $@ -c ${RO_PATH_DU}/src/${DU_NUM}baseerrtab.cpp
- ##${DU_NUM}tok.o: ${RO_PATH_DU}/h/${DU_NUM}tok.h ${RO_PATH_DU}/src/${DU_NUM}tok.cpp
- ## ${CXX} ${CPPFLAGS} ${CFLAGS} -o $@ -c ${RO_PATH_DU}/src/${DU_NUM}tok.cpp
- ## mlc
- duerr.o: ${RO_PATH}/h/duerr.h ${RO_PATH}/src/duerr.cpp
- ${CXX} ${CPPFLAGS} ${CFLAGS} -o $@ -c ${RO_PATH}/src/duerr.cpp
- duseemptyerrtab.o: ${RO_PATH}/h/duerr.h ${RO_PATH}/src/dusememptyerrtab.cpp
- ${CXX} ${CPPFLAGS} ${CFLAGS} -o $@ -c ${RO_PATH}/src/dusememptyerrtab.cpp
- dutables.o: ${RO_PATH}/h/duerr.h ${RO_PATH}/h/dutables.h ${RO_PATH}/src/dutables.cpp
- ${CXX} ${CPPFLAGS} ${CFLAGS} -o $@ -c ${RO_PATH}/src/dutables.cpp
- ##
- ## Syntactic analyzer via bison
- ##
- ${DU_NUM}g.o: ${DU_NUM}g.cpp ${RO_PATH_DU}/h/${DU_NUM}.h ${RO_PATH}/h/duerr.h
- ${CXX} ${CPPFLAGS} ${CFLAGS} -o $@ -c $<
- ${DU_NUM}g.cpp: ${RW_PATH_DU}/${DU_NUM}g.y
- bison --report=all --warnings=all -d -o $@ $<
- ${DU_NUM}g.hpp: ${DU_NUM}g.cpp
- ## flex
- flex.o: flex.cpp ${RO_PATH}/h/duerr.h ${RO_PATH_DU}/h/${DU_NUM}.h ${RO_PATH_DU}/h/${DU_NUM}tok.h
- ${CXX} ${CPPFLAGS} ${CFLAGS} -o $@ -c flex.cpp
- flex.cpp: ${RW_PATH_DU}/${DU_NUM}l.lex
- flex -Cf -b -p -p -o $@ $<
- ## Clean up
- clean:
- rm -f flex.cpp *.o program *.out lex.backup *.output *.cpp *.hpp *.backup tags *.out *.diff
- ## tests
- check: program tests
- check_view: program tests_view
- tests:
- @for i in ${MLSY}; do \
- MLSIK=$${i%.mls*}; \
- ./program ${RO_PATH_DU}/tests/$$MLSIK.mls xyz.out > $$MLSIK.out; \
- dos2unix -u $$MLSIK.out; \
- dos2unix -u ${RO_PATH_DU}/tests/$$MLSIK.out; \
- if diff -u ${RO_PATH_DU}/tests/$$MLSIK.out $$MLSIK.out > $$MLSIK.diff; then \
- echo $$MLSIK " OK ;)"; \
- else \
- echo "problem, nefunguje vse jak ma. rozdil ve vysledcich je v souboru :" $$MLSIK ".diff";\
- fi; \
- done; \
- echo "!!! Pozor -- vystupni soubor z prekladace se nekontroluje, jen jeho standardni vystup!"
- tests_view:
- @for i in ${MLSY}; do \
- MLSIK=$${i%.mls*}; \
- ./program ${RO_PATH_DU}/tests/$$MLSIK.mls xyz.out > $$MLSIK.out; \
- dos2unix -u $$MLSIK.out; \
- dos2unix -u ${RO_PATH_DU}/tests/$$MLSIK.out; \
- if diff -u ${RO_PATH_DU}/tests/$$MLSIK.out $$MLSIK.out > $$MLSIK.diff; then \
- echo $$MLSIK " OK ;)"; \
- else \
- echo "problem, nefunguje vse jak ma. rozdil ve vysledcich je v souboru :" $$MLSIK ".diff";\
- CHYBOVE_SOUBORY=`echo ${RO_PATH_DU}/tests/$$MLSIK.mls $$CHYBOVE_SOUBORY`;\
- CHYBOVE_SOUBORY=`echo $$MLSIK.diff $$CHYBOVE_SOUBORY`; \
- fi; \
- done;\
- ${EDITOR} $$CHYBOVE_SOUBORY &
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement