GNUmakefile
上传用户:tsgydb
上传日期:2007-04-14
资源大小:10674k
文件大小:3k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. # === GNUmakefile =============================================================
  2. # Copyright (c) 1991, 1992, 1993 Chris Provenzano, proven@athena.mit.edu
  3. #
  4. # Description: This file is for creating libpthread.a
  5. #
  6. # 1.00 93/11/17 proven
  7. # -Put all the .o files into one file libpthread.a
  8. # -Initial cut for pthreads.
  9. #
  10. INSTALL_PATH = $(exec_prefix)
  11.       BINDIR = $(INSTALL_PATH)/bin
  12.       LIBDIR = $(INSTALL_PATH)/lib
  13.       MANDIR = $(INSTALL_PATH)/man
  14.       INCDIR = $(INSTALL_PATH)/include
  15.    SUBINCDIR = $(INCDIR)/pthread
  16.           AR = ar
  17.           AS = gas
  18.       CFLAGS = -I. -Iinclude -I$(srcdir)/include -DPTHREAD_KERNEL 
  19. -O6 -DDBUG_OFF   -Werror
  20.     CXXFLAGS = -I. -Iinclude -I$(srcdir)/include -DPTHREAD_KERNEL 
  21. -g -O2
  22.           LD = gld
  23.         CSRC =
  24.  PTHREAD_DIR = pthreads stdlib stdio gen
  25.         DIRS = $(PTHREAD_DIR)
  26.      HEADERS =
  27.    LIBRARIES = libpthread.a
  28.      .CURDIR = .
  29. # force correct default target
  30. all:
  31. ###############################################################################
  32. #
  33. # Read in any special flags that config knows about
  34. include config.flags
  35. # What the heck.  Convert srcdir to absolute form so it looks prettier.
  36. srcdir := $(shell cd $(srcfoo) && pwd)
  37. ################################################################################
  38. #
  39. # Here starts the nitty grity part of the Makefile.
  40. all-lib : libpthread.a
  41. include ${srcdir}/pthreads/GNUmakefile.inc
  42. include ${srcdir}/stdlib/GNUmakefile.inc
  43. include ${srcdir}/stdio/GNUmakefile.inc
  44. include ${srcdir}/string/GNUmakefile.inc
  45. include ${srcdir}/gen/GNUmakefile.inc
  46. include ${srcdir}/net/GNUmakefile.inc
  47. include ${srcdir}/scripts/GNUmakefile.inc
  48. REGULAR_OBJS= $(subst .cc,.o,$(SRCS))
  49. REGULAR_OBJS:= $(subst .c,.o,$(REGULAR_OBJS))
  50. REGULAR_OBJS:= $(subst .S,.o,$(REGULAR_OBJS))
  51. OBJS= $(REGULAR_OBJS) $(EXTRA_OBJS)
  52. REALOBJS = $(addprefix obj/, $(OBJS))
  53. $(REALOBJS) : $(config) $(types) $(paths)
  54. # Since we do not have a list of the relevant files we do a make clean
  55. # before copying everyting to the distribution directory.
  56. distdir:
  57. $(MAKE) clean
  58. cp -a . $(distdir)
  59. # Remove symlinks that the distribution should not have.
  60. rm -f $(distdir)/config.cache 
  61. $(distdir)/include/pthread/machdep.h 
  62. $(distdir)/include/pthread/posix.h 
  63. $(distdir)/include/sys 
  64. $(distdir)/machdep.c 
  65. $(distdir)/syscall.S 
  66. $(distdir)/syscall-template.S
  67. clean: 
  68. rm -f a.out core maketmp makeout $(LIBRARIES) $(BINARIES) libpthread.*
  69. rm -rf obj
  70. cd tests && $(MAKE) clean && cd ..
  71. install-lib: $(LIBRARIES) install-dirs
  72. for x in $(LIBRARIES); 
  73. do install $$x $(DESTDIR)$(LIBDIR); 
  74. done
  75. # Removed make install since mysql uses this in place.
  76. # install-lib install-include install-bin
  77. install: 
  78. libpthread.a: obj/libpthread.a
  79. rm -f libpthread.a
  80. ln -s obj/libpthread.a .
  81. obj/libpthread.a: ${REALOBJS}
  82. rm -f libpthread.a obj/new.a obj/libpthread.a
  83. cd obj && 
  84. ar r new.a ${OBJS} && 
  85. $(RANLIB) new.a && 
  86. mv -f new.a libpthread.a && 
  87. cd ..
  88. # For examining a combined symbol table, sizes, &c.
  89. libpthread.o: ${REALOBJS}
  90. cd obj && ld -r -o ../libpthread.o ${OBJS} && cd ..
  91. obj/x:
  92. if [ -d obj ]; then true; else mkdir obj; fi
  93. cp /dev/null obj/x
  94. GNUmakefile: config.status ${srcdir}/config/GNUmakefile.in
  95. $(SHELL) config.status
  96. obj/%.o: %.c obj/x
  97. $(CC) $(CFLAGS) -c $< -o $@
  98. obj/%.o: %.cc obj/x
  99. $(CXX) $(CXXFLAGS) $(CFLAGS) -c $< -o $@
  100. obj/%.o: %.S obj/x
  101. $(CC) $(CFLAGS) -c $< -o $@