Makefile
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:2k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. PROG= aicasm
  2. .SUFFIXES= .l .y .c .h
  3. CSRCS= aicasm.c aicasm_symbol.c
  4. YSRCS= aicasm_gram.y aicasm_macro_gram.y
  5. LSRCS= aicasm_scan.l aicasm_macro_scan.l
  6. GENHDRS= aicdb.h $(YSRCS:.y=.h)
  7. GENSRCS= $(YSRCS:.y=.c) $(LSRCS:.l=.c)
  8. SRCS= ${CSRCS} ${GENSRCS}
  9. CLEANFILES= ${GENSRCS} ${GENHDRS} $(YSRCS:.y=.output)
  10. # Override default kernel CFLAGS.  This is a userland app.
  11. AICASM_CFLAGS:= -I/usr/include -I. -ldb
  12. YFLAGS= -d
  13. NOMAN= noman
  14. ifneq ($(HOSTCC),)
  15. AICASM_CC= $(HOSTCC)
  16. else
  17. AICASM_CC= $(CC)
  18. endif
  19. ifdef DEBUG
  20. CFLAGS+= -DDEBUG -g
  21. YFLAGS+= -t -v
  22. LFLAGS= -d
  23. endif
  24. $(PROG):  ${GENHDRS} $(SRCS)
  25. $(AICASM_CC) $(AICASM_CFLAGS) $(SRCS) -o $(PROG)
  26. aicdb.h:
  27. @if [ -e "/usr/include/db3/db_185.h" ]; then
  28. echo "#include <db3/db_185.h>" > aicdb.h;
  29.  elif [ -e "/usr/include/db2/db_185.h" ]; then
  30. echo "#include <db2/db_185.h>" > aicdb.h;
  31.  elif [ -e "/usr/include/db/db_185.h" ]; then
  32. echo "#include <db/db_185.h>" > aicdb.h;
  33.  elif [ -e "/usr/include/db_185.h" ]; then
  34. echo "#include <db_185.h>" > aicdb.h;
  35.  else
  36. echo "*** Install db development libraries";
  37.  fi
  38. clean:
  39. rm -f $(CLEANFILES) $(PROG)
  40. aicasm_gram.c aicasm_gram.h: aicasm_gram.y
  41. $(YACC) $(YFLAGS) -b $(<:.y=) $<
  42. mv $(<:.y=).tab.c $(<:.y=.c)
  43. mv $(<:.y=).tab.h $(<:.y=.h)
  44. aicasm_macro_gram.c aicasm_macro_gram.h: aicasm_macro_gram.y
  45. $(YACC) $(YFLAGS) -b $(<:.y=) -p mm $<
  46. mv $(<:.y=).tab.c $(<:.y=.c)
  47. mv $(<:.y=).tab.h $(<:.y=.h)
  48. aicasm_scan.c: aicasm_scan.l
  49. $(LEX) $(LFLAGS) -o$@ $<
  50. aicasm_macro_scan.c: aicasm_macro_scan.l
  51. $(LEX) $(LFLAGS) -Pmm -o$@ $<