Makefile
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:2k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. #-------------------------------------------------------------------------
  2. #
  3. # Makefile--
  4. #    Makefile for the bootstrap module
  5. #
  6. # IDENTIFICATION
  7. #    $Header: /usr/local/cvsroot/pgsql/src/backend/bootstrap/Makefile,v 1.15 1998/07/26 04:30:17 scrappy Exp $
  8. #
  9. #
  10. # We must build bootparse.c and bootscanner.c with yacc and lex and sed,
  11. # but bootstrap.c is part of the distribution.
  12. #
  13. # Another kinda weird Makefile cause we need two
  14. #  scanner/parsers in the backend and most yaccs and lexs
  15. #  don't have the prefix option.
  16. #
  17. # sed files are HACK CITY! - redo...
  18. #
  19. #-------------------------------------------------------------------------
  20. SRCDIR= ../..
  21. include ../../Makefile.global
  22. CFLAGS += -I..
  23. ifdef MULTIBYTE
  24. CFLAGS+= $(MBFLAGS)
  25. endif
  26. ifeq ($(CC), gcc)
  27. CFLAGS+= -Wno-error
  28. endif
  29. BOOTYACCS= bootstrap_tokens.h bootparse.c
  30. OBJS= bootparse.o bootscanner.o bootstrap.o 
  31. all: SUBSYS.o
  32. SUBSYS.o: $(OBJS)
  33. $(LD) -r -o SUBSYS.o $(OBJS)
  34. # bootstrap.o's dependency on bootstrap_tokens.h is computed by the
  35. # make depend, but we state it here explicitly anyway because 
  36. # bootstrap_tokens.h doesn't even exist at first and if user fails to 
  37. # do make depend, we still want the build to succeed.
  38. bootstrap.o: bootstrap_tokens.h
  39. bootstrap_tokens.h bootparse.c: bootparse.y
  40. $(YACC) $(YFLAGS) $<
  41. grep -v "^#" boot.sed > sedfile
  42. sed -f sedfile < y.tab.c > bootparse.c
  43. mv y.tab.h bootstrap_tokens.h
  44. rm -f y.tab.c sedfile
  45. bootscanner.c: bootscanner.l
  46. $(LEX) $<
  47. grep -v "^#" boot.sed > sedfile
  48. sed -f sedfile < lex.yy.c > bootscanner.c
  49. rm -f lex.yy.c sedfile
  50. clean:
  51. rm -f SUBSYS.o $(OBJS) bootparse.c bootstrap_tokens.h bootscanner.c
  52. # And the garbage that might have been left behind by partial build:
  53. rm -f y.tab.h y.tab.c y.output lex.yy.c
  54. # This is unusual:  We actually have to build some of the parts before
  55. # we know what the header file dependencies are.  
  56. dep depend: bootparse.c bootscanner.c bootstrap_tokens.h
  57. $(CC) -MM $(CFLAGS) *.c >depend
  58. ifeq (depend,$(wildcard depend))
  59. include depend
  60. endif