home *** CD-ROM | disk | FTP | other *** search
/ Serving the Web / ServingTheWeb1995.disc1of1.iso / linux / slacksrce / d / libc / libc-4.6 / libc-4 / libc-linux / Makeconfig < prev    next >
Encoding:
Text File  |  1994-11-27  |  6.8 KB  |  395 lines

  1. #
  2. # Makefile for the Linux C library
  3. #
  4.  
  5. #.EXPORT_ALL_VARIABLES:
  6.  
  7. export JUMP_DIR JUMP_LIB
  8.  
  9. #
  10. # include a configuration file if one exists and ignore all the
  11. # setup stuff.
  12. #
  13. # This hack so subdirectories may include toplevel config.in
  14.  
  15. include $(TOPDIR)/config.in
  16.  
  17. # That is for new ld.so. Please make sure they are the same as
  18. # the one used in ld.so package.
  19. LDSO_ADDR = 62f00000
  20. LDSO_ENTRY = "(0x$(LDSO_ADDR)+32)"
  21.  
  22. ifeq ($(WHICH),)
  23.  
  24. ifeq ($(STATIC),true)
  25. SHARED=false
  26. DEBUG=false
  27. PROFILE=false
  28. CHECKER=false
  29. STATIC_SHARED=false
  30. WHICH=STATIC
  31. endif
  32.  
  33. ifeq ($(LITE),true)
  34. SHARED=true
  35.  
  36. # Where we get those dll files.
  37. ifeq ($(SHLIB),)
  38. SHLIB:=libc.lite
  39. endif
  40.  
  41. endif
  42.  
  43. ifeq ($(SHARED),true)
  44. STATIC=false
  45. DEBUG=false
  46. PROFILE=false
  47. CHECKER=false
  48. STATIC_SHARED=false
  49.  
  50. JUMP_CFLAGS=-B$(JUMPAS)
  51.  
  52. ifeq ($(WHICH),)
  53. WHICH=SHARED
  54. endif
  55.  
  56. endif
  57.  
  58. ifeq ($(STATIC_SHARED),true)
  59. STATIC=true
  60. SHARED=true
  61. DEBUG=false
  62. PROFILE=false
  63. CHECKER=false
  64. WHICH=STATIC_SHARED
  65. endif
  66.  
  67. ifeq ($(DEBUG),true)
  68. STATIC=false
  69. SHARED=false
  70. PROFILE=false
  71. CHECKER=false
  72. STATIC_SHARED=false
  73. WHICH=DEBUG
  74. endif
  75.  
  76. ifeq ($(PROFILE),true)
  77. STATIC=false
  78. SHARED=false
  79. DEBUG=false
  80. CHECKER=false
  81. STATIC_SHARED=false
  82. WHICH=PROFILE
  83. endif
  84.  
  85. ifeq ($(CHECKER),true)
  86. STATIC=false
  87. SHARED=false
  88. PROFILE=false
  89. DEBUG=false
  90. STATIC_SHARED=false
  91. WHICH=CHECKER
  92. endif
  93.  
  94. ifeq ($(WHICH),)
  95.  
  96. ifeq ($(STATIC),)
  97. STATIC=true
  98. endif
  99.  
  100. ifeq ($(SHARED),)
  101. SHARED=true
  102. endif
  103.  
  104. ifeq ($(PROFILE),)
  105. PROFILE=true
  106. endif
  107.  
  108. ifeq ($(DEBUG),)
  109. DEBUG=true
  110. endif
  111.  
  112. ifeq ($(STATIC_SHARED),)
  113. STATIC_SHARED=true
  114. endif
  115.  
  116. WHICH=ALL
  117.  
  118. endif
  119.  
  120. endif
  121.  
  122. ifeq ($(NYS),true)
  123. # Where we get those dll files.
  124. SHLIB:=libc-nys
  125. YPDIR=$(NYSDIR)
  126. ifeq ($(JUMP_LIB),)
  127. JUMP_LIB=libc-nys
  128. endif
  129. endif
  130.  
  131. ifeq ($(SHLIB),)
  132. # Where we get those dll files.
  133. SHLIB:=libc
  134. endif
  135.  
  136. ifeq ($(JUMP_LIB),)
  137. JUMP_LIB:=libc
  138. endif
  139.  
  140.  
  141. ifeq ($(TARGET_ROOTDIR),/)
  142. TARGET_LIB_DIR=$(TARGET_ROOTDIR)usr/lib
  143. TARGET_SBIN_DIR=$(TARGET_ROOTDIR)sbin
  144. TARGET_SO_DIR=$(TARGET_ROOTDIR)lib
  145. TARGET_LIBM_SO_DIR=$(TARGET_ROOTDIR)lib
  146. CROSS_ROOTDIR=$(HOST_ROOTDIR)
  147. TARGET_LIBEXTRA_DIR=$(TARGET_ROOTDIR)usr/lib
  148.  
  149. TARGET_ELF_LIB_DIR=$(TARGET_ROOTDIR)usr/$(TARGET_MACHINE)/lib
  150. TARGET_ELF_SO_DIR=$(TARGET_ROOTDIR)lib/elf
  151. TARGET_ELF_LIBEXTRA_DIR=$(TARGET_ROOTDIR)usr/$(TARGET_MACHINE)/lib
  152.  
  153. LDCONFIG=ldconfig
  154.  
  155. else
  156. TARGET_LIB_DIR=$(TARGET_ROOTDIR)/usr/lib
  157. TARGET_SBIN_DIR=$(TARGET_ROOTDIR)/sbin
  158. TARGET_SO_DIR=$(TARGET_ROOTDIR)/lib
  159. TARGET_LIBM_SO_DIR=$(TARGET_ROOTDIR)/lib
  160. CROSS_ROOTDIR=$(HOST_ROOTDIR)/$(TARGET_MACHINE)
  161. TARGET_LIBEXTRA_DIR=$(TARGET_ROOTDIR)/extra/usr/lib
  162.  
  163. TARGET_ELF_LIB_DIR=$(TARGET_ROOTDIR)/usr/$(TARGET_MACHINE)/lib
  164. TARGET_ELF_SO_DIR=$(TARGET_ROOTDIR)/lib/elf
  165. TARGET_ELF_LIBEXTRA_DIR=$(TARGET_ROOTDIR)/extra/usr/$(TARGET_MACHINE)/lib
  166.  
  167. LDCONFIG=true
  168.  
  169. endif
  170.  
  171. CROSS_INCDIR=$(CROSS_ROOTDIR)/include
  172. CROSS_BINDIR=$(CROSS_ROOTDIR)/bin
  173. DLLDIR=$(CROSS_ROOTDIR)/bin
  174. JUMPAS=$(CROSS_ROOTDIR)/bin/jump
  175. PICASDIR=$(CROSS_ROOTDIR)/pic/bin
  176.  
  177. #
  178. # Don't change anything below unless you know what you are doing.
  179. #
  180. ifeq ($(TARGET_ARCH_486),true)
  181. TARGET_ARCH=i386
  182. IX86FLAGS=-m486
  183. IX86LDFLAGS=-m486
  184. else
  185. ifeq ($(TARGET_ARCH),i386)
  186. IX86FLAGS=-m386
  187. IX86LDFLAGS=
  188. endif
  189. endif
  190.  
  191. MKDIR=mkdir -p
  192.  
  193. ifeq ($(LD),ld)
  194. ifeq ($(ELF),true)
  195. LD=$(CROSS_BINDIR)/ld -m elf_i386
  196. else
  197. LD=$(CROSS_BINDIR)/ld
  198. endif
  199. #LD=/usr/gnu/i486-linux/binutils/1.9/ld
  200. LDFLAGS=-r -x $(IX86LDFLAGS)
  201. endif
  202.  
  203. ifneq ($(MV),true)
  204. MV    =mv
  205. endif
  206.  
  207. AR    =$(CROSS_BINDIR)/ar
  208. ARFLAGS=ucv
  209. # For new binutils.
  210. ARFLAGS=ucrv
  211. AR_FLAGS=$(ARFLAGS)
  212.  
  213. AS    =$(CROSS_BINDIR)/as
  214. NM    =$(CROSS_BINDIR)/nm
  215. STRIP    =$(CROSS_BINDIR)/strip
  216. REALRANLIB=$(CROSS_BINDIR)/ranlib
  217.  
  218. RANLIB    =true
  219.  
  220. NEWSTDIOFLAGS= -I$(TOPDIR)/libio -I$(TOPDIR)/libio/stdio
  221.  
  222. GNU_MAKE=gmake
  223.  
  224. ELF_SHARED_DIR=$(TOPDIR)/elfshared
  225. ELF_STATIC_DIR=$(TOPDIR)/elfstatic
  226. ELF_DEBUG_DIR=$(TOPDIR)/elfdebug
  227. ELF_PROFILE_DIR=$(TOPDIR)/elfprofile
  228.  
  229. ifeq ($(ELF),true)
  230.  
  231. SHARED_DIR=$(ELF_SHARED_DIR)
  232. STATIC_DIR=$(ELF_STATIC_DIR)
  233. DEBUG_DIR=$(ELF_DEBUG_DIR)
  234. PROFILE_DIR=$(ELF_PROFILE_DIR)
  235.  
  236. else
  237.  
  238. STATIC_DIR=$(TOPDIR)/static
  239. DEBUG_DIR=$(TOPDIR)/debug
  240. PROFILE_DIR=$(TOPDIR)/profile
  241.  
  242. ifeq ($(LITE),true)
  243. SHARED_DIR=$(SHARED_LITE_DIR)
  244. else
  245. SHARED_DIR=$(TOPDIR)/shared
  246. endif
  247.  
  248. endif
  249.  
  250. # No need for ELF libraries
  251. SHARED_LITE_DIR=$(TOPDIR)/shared.lite
  252. CHECKER_DIR=$(TOPDIR)/checker
  253.  
  254. # It is used for cleaning up.
  255. OBJS_DIRS=$(STATIC_DIR) $(SHARED_DIR) $(DEBUG_DIR) $(PROFILE_DIR) \
  256.     $(SHARED_LITE_DIR) $(ELF_STATIC_DIR) $(ELF_SHARED_DIR) \
  257.     $(ELF_DEBUG_DIR) $(ELF_PROFILE_DIR)
  258.  
  259. # It is used for installation
  260. INSTALL_DIRS=$(STATIC_DIR) $(DEBUG_DIR) $(PROFILE_DIR) jump
  261.  
  262. ifeq ($(MATH),true)
  263.  
  264. STATIC_LIB=$(STATIC_DIR)/libm.a
  265. SHARED_LIB=$(SHARED_DIR)/libm.a
  266. LIBALIAS=$(TOPDIR)/libmalias.a
  267.  
  268. # Overiwrite the default values.
  269. SHLIB=libm
  270. JUMP_LIB=libm
  271.  
  272. else
  273.  
  274. ifeq ($(STATIC_LIB),)
  275. STATIC_LIB=$(STATIC_DIR)/libc.a
  276. endif
  277.  
  278. ifeq ($(SHARED_LIB),)
  279. SHARED_LIB=$(SHARED_DIR)/libc.a
  280. endif
  281.  
  282. ifeq ($(LIBALIAS),)
  283. LIBALIAS=$(TOPDIR)/libalias.a
  284. endif
  285.  
  286. endif
  287.  
  288. ifneq ($(DEBUG_LIB),false)
  289. DEBUG_LIB=$(DEBUG_DIR)/libg.a
  290. endif
  291.  
  292. ifneq ($(PROFILE_LIB),false)
  293. PROFILE_LIB=$(PROFILE_DIR)/libc_p.a
  294. endif
  295.  
  296. JUMP_DIR:=$(TOPDIR)/jump/$(SHLIB)
  297.  
  298. # The relative directory from the TOPDIR.
  299. SUBDIR=$(JUMP_LIB)
  300. #SUBDIR=$(subst $(shell cd $(TOPDIR); pwd)/,,$(shell pwd))
  301.  
  302. MKIMAGE=$(DLLDIR)/mkimage
  303. VERIFY=$(DLLDIR)/verify-shlib
  304. MKSTUBS=$(DLLDIR)/mkstubs
  305.  
  306. ifneq ($(LITE),true)
  307.  
  308. ifneq ($(NYS),true)
  309. YP=true
  310. YPFLAGS=-DYP
  311. YPDIR=yp
  312. endif
  313.  
  314. NLS=true
  315. NLSFLAGS=-DNLS -I$(TOPDIR)/nls
  316. NLSDIR=nls
  317.  
  318. endif
  319.  
  320. ifneq ($(SHADOW_COMPAT),true)
  321. SHADOWFLAGS=-DNO_SHADOW
  322. endif
  323.  
  324. WFLAGS=-Wall -Wstrict-prototypes -Wmissing-prototypes
  325.  
  326. ifeq ($(ELF),true)
  327. REALCC  =gcc-elf -V $(GCCVERSION) -b $(TARGET_MACHINE) \
  328.         $(IX86FLAGS)
  329. else
  330. REALCC  =$(HOST_BINDIR)/gcc -V $(GCCVERSION) -b $(TARGET_MACHINE) \
  331.         $(IX86FLAGS)
  332. endif
  333.  
  334. ifeq ($(CHECKER),true)
  335. CC    =checkergcc -V $(GCCVERSION) -b $(TARGET_MACHINE) $(IX86FLAGS)
  336. else
  337. CC    =$(REALCC)
  338. endif
  339.  
  340.  
  341. XCFLAGS = -D_GNU_SOURCE -DSTDC_HEADERS -DUSG -DDIRENT -DSYSV \
  342.     -DUSE_BSD_REGEX -D_LIBC # -D__USE_BSD_SIGNAL
  343.  
  344. ifeq ($(ELF),)
  345. XCFLAGS+= -DHAVE_GNU_LD
  346. else
  347. PIC=true
  348. endif
  349.  
  350. CHARFLAGS=-funsigned-char
  351.  
  352. BASE_CFLAGS= $(INC_CFLAGS) \
  353.         $(NEWSTDIOFLAGS) \
  354.         $(NLSFLAGS) \
  355.         $(JUMP_CFLAGS) \
  356.         $(YPFLAGS) \
  357.         $(SHADOWFLAGS) \
  358.         $(SHFLAGS) \
  359.         $(XCFLAGS) \
  360.         $(WFLAGS) \
  361.         $(CHARFLAGS)
  362.  
  363. ifeq ($(OPT_CFLAGS),)
  364. OPT_CFLAGS= -O6 #-fomit-frame-pointer
  365. OPT_CFLAGS= -O1 -funroll-loops
  366. endif
  367. ifeq ($(PIC_OPT_CFLAGS),)
  368. PIC_OPT_CFLAGS= -fPIC -O1 -funroll-loops -fomit-frame-pointer
  369. endif
  370. ifeq ($(DEBUG_OPT_CFLAGS),)
  371. DEBUG_OPT_CFLAGS=-O -g # -mreg-alloc=d
  372. endif
  373. ifeq ($(PROFILE_OPT_CFLAGS),)
  374. PROFILE_OPT_CFLAGS=-O -pg # -mreg-alloc=d
  375. endif
  376. ifeq ($(CHECKER_OPT_CFLAGS),)
  377. CHECKER_OPT_CFLAGS=-O # -mreg-alloc=d
  378. endif
  379. ifeq ($(CHECKER_ASFLAGS),)
  380. CHECKER_ASFLAGS = -real-fnstcw
  381. endif
  382.  
  383. CFLAGS= $(OPT_CFLAGS) $(BASE_CFLAGS)
  384. ifeq ($(PIC),)
  385. PIC_CFLAGS= $(CFLAGS)
  386. else
  387. PIC_CFLAGS= $(PIC_OPT_CFLAGS) $(BASE_CFLAGS)
  388. endif
  389. DEBUG_CFLAGS= $(DEBUG_OPT_CFLAGS) $(BASE_CFLAGS)
  390. PROFILE_CFLAGS= $(PROFILE_OPT_CFLAGS) $(BASE_CFLAGS)
  391. CHECKER_CFLAGS= $(CHECKER_OPT_CFLAGS) $(BASE_CFLAGS)
  392.   
  393. CPP    =$(CC) -E $(INC_CFLAGS) # $(XCFLAGS)
  394. RM    =/bin/rm
  395.