home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wxos2240.zip / wxWindows-2.4.0 / distrib / msw / tmake / b32base.t < prev    next >
Text File  |  2002-09-21  |  7KB  |  301 lines

  1. #!#############################################################################
  2. #! File:    baseb32.t
  3. #! Purpose: tmake template file from which makebase.b32 is generated by running
  4. #!          tmake -t b32 wxwin.pro
  5. #! Author:  Michael Fielding
  6. #! Created: 6-08-02
  7. #! Version: $Id: b32base.t,v 1.2.2.1 2002/09/17 07:49:59 CE Exp $
  8. #!#############################################################################
  9.  
  10. #${
  11.     #! include the code which parses filelist.txt file and initializes
  12.     #! %wxCommon, %wxGeneric and %wxMSW hashes.
  13.     IncludeTemplate("filelist.t");
  14.  
  15.     #! now transform these hashes into $project tags
  16.     foreach $file (sort keys %wxCommon) {
  17.         next if $wxCommon{$file} !~ /\bB\b/;
  18.  
  19.         $isCFile = $file =~ /\.c$/;
  20.         $file =~ s/cp?p?$/obj/;
  21.         $obj = "\$(MSWDIR)\\" . $file . " ";
  22.         $project{"WXCOMMONOBJS"} .= $obj;
  23.         $project{"WXCOBJS"} .= $obj if $isCFile;
  24.     }
  25.  
  26.     foreach $file (sort keys %wxMSW) {
  27.         next if $wxMSW{$file} !~ /\bB\b/;
  28.  
  29.         $isCFile = $file =~ /\.c$/;
  30.  
  31.         my $isOleObj = $wxMSW{$file} =~ /\bO\b/;
  32.         $file =~ s/cp?p?$/obj/;
  33.         my $obj = "\$(MSWDIR)\\" . $file . " ";
  34.  
  35.         $project{"WXMSWOBJS"} .= $obj;
  36.         if ( $isOleObj ) {
  37.             #! remember that this file is in ole subdir
  38.             $project{"WXOLEOBJS"} .= $obj;
  39.         }
  40.         $project{"WXCOBJS"} .= $obj if $isCFile;
  41.     }
  42.  
  43.     foreach $file (sort keys %wxBase) {
  44.         $isCFile = $file =~ /\.c$/;
  45.         $file =~ s/cp?p?$/obj/;
  46.         $project{"WXCOMMONOBJS"} .= "\$(MSWDIR)\\" . $file . " ";
  47.         $project{"WXCOBJS"} .= $obj if $isCFile;
  48.     }
  49. #$}
  50.  
  51.  
  52.  
  53. # This file was automatically generated by tmake
  54. # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE B32.T!
  55.  
  56. #
  57. # File:     makebase.b32
  58. # Author:   Julian Smart
  59. # Created:  1998
  60. # Updated:  Michael Fielding, 2002
  61. # Copyright:
  62. #
  63. # "%W% %G%"
  64. #
  65. # Makefile : Builds wxWindows library wxbase.lib for MS Windows,
  66. # and Borland C++ (32-bit).
  67.  
  68. # BCCDIR now defined in ../makeb32.env
  69.  
  70. !if "$(WXWIN)" == ""
  71. !error You must define the WXWIN variable in autoexec.bat, e.g. WXWIN=c:\wx
  72. !endif
  73.  
  74. WXDIR = $(WXWIN)
  75. THISDIR = $(WXDIR)\src\msw
  76.  
  77. # Set all these to 1 if you want to build a dynamic library
  78. !if "$(DLL)" == "1"
  79. WXMAKINGDLL=1
  80. WXBUILDDLL=1
  81. !endif
  82.  
  83. wxUSE_GUI=0
  84.  
  85. !include $(WXDIR)\src\makeb32.env
  86.  
  87. PERIPH_LIBS=
  88. PERIPH_TARGET=zlib regex $(PERIPH_TARGET)
  89. PERIPH_CLEAN_TARGET=clean_zlib clean_regex $(PERIPH_CLEAN_TARGET)
  90.  
  91. !if "$(DLL)" == "0"
  92. DUMMY=dummy
  93. !else
  94. DUMMY=dummydll
  95. LIBS= cw32mti import32 ole2w32 odbc32 zlib winpng jpeg tiff regex
  96. !endif
  97.  
  98. LIBTARGET=$(WXLIB)
  99.  
  100. GENDIR=..\generic
  101. COMMDIR=..\common
  102. HTMLDIR=..\html
  103. OLEDIR=.\ole
  104. MSWDIR=.
  105.  
  106. DOCDIR = $(WXDIR)\docs
  107.  
  108. COMMONOBJS = \
  109.     #$ ExpandList("WXCOMMONOBJS");
  110.  
  111. MSWOBJS = #$ ExpandList("WXMSWOBJS");
  112.  
  113. OBJECTS = $(COMMONOBJS) $(MSWOBJS)
  114.  
  115. default:    wx
  116.  
  117. wx:    $(ARCHINCDIR)\wx makesetuph makearchsetuph $(CFG) $(DUMMY).obj $(OBJECTS) $(PERIPH_TARGET) $(LIBTARGET)
  118.  
  119. all:    wx
  120.  
  121. # Copy the in-CVS setup0.h to setup.h if necessary
  122. makesetuph:
  123.      cd $(WXDIR)\include\wx\msw
  124.      if not exist setup.h copy setup0.h setup.h
  125.      cd $(WXDIR)\src\msw
  126.  
  127. # Copy include\wx\msw\setup.h to the architecture-specific location
  128. makearchsetuph:
  129.      copy $(WXDIR)\include\wx\msw\setup.h $(ARCHSETUPH)
  130.      cd $(WXDIR)\src\msw
  131.  
  132. $(ARCHINCDIR)\wx:
  133.     -mkdir $(ARCHINCDIR)
  134.     -mkdir $(ARCHINCDIR)\wx
  135.     -erase $(CFG)
  136.  
  137. !if "$(DLL)" == "0"
  138.  
  139. $(LIBTARGET): $(DUMMY).obj $(OBJECTS)
  140.     -erase $(WXLIB)
  141.     tlib "$(WXLIB)" /P1024 @&&!
  142. +$(OBJECTS:.obj =.obj +) +$(PERIPH_LIBS:.lib =.lib +)
  143. !
  144.  
  145. !else
  146.  
  147. $(LIBTARGET): $(DUMMY).obj $(OBJECTS)
  148.     -erase $(WXLIB)
  149.     -erase $(WXDLL)
  150.         $(LINK) $(LINK_FLAGS) /L$(WXLIBDIR);$(BCCDIR)\lib;$(BCCDIR)\lib\psdk /v @&&!
  151. c0d32.obj $(OBJECTS)
  152. $(WXLIBDIR)\$(WXLIBNAME)
  153. nul
  154. $(PERIPH_LIBS) $(LIBS)
  155. wxb32
  156. !
  157.         implib -c $(LIBTARGET) $(WXLIBDIR)\$(WXLIBNAME).dll
  158. !endif
  159.  
  160. dummy.obj: dummy.$(SRCSUFF) $(LOCALHEADERS) $(BASEHEADERS) $(WXDIR)\include\wx\wx.h
  161. dummydll.obj: dummydll.$(SRCSUFF) $(LOCALHEADERS) $(BASEHEADERS) $(WXDIR)\include\wx\wx.h version.res
  162.  
  163. version.res:
  164.     brc32 -r -i$(WXDIR)\include\ $(MSWDIR)\version.rc
  165.  
  166. #${
  167.     $_ = $project{"WXMSWOBJS"};
  168.     my @objs = split;
  169.     foreach (@objs) {
  170.         $text .= $_ . ": ";
  171.         if ( $project{"WXOLEOBJS"} =~ /\Q$_/ ) { s/MSWDIR/OLEDIR/; }
  172.         $suffix = $project{"WXCOBJS"} =~ /\Q$_/ ? "c" : '$(SRCSUFF)';
  173.         s/obj$/$suffix/;
  174.         $text .= $_ . "\n\n";
  175.     }
  176. #$}
  177.  
  178. ########################################################
  179. # Common objects (always compiled)
  180.  
  181. #${
  182.     $_ = $project{"WXCOMMONOBJS"};
  183.     my @objs = split;
  184.     foreach (@objs) {
  185.         $text .= $_ . ": ";
  186.         $suffix = $project{"WXCOBJS"} =~ /\Q$_/ ? "c" : '$(SRCSUFF)';
  187.         s/MSWDIR/COMMDIR/;
  188.         s/obj$/$suffix/;
  189.         $text .= $_ . "\n\n";
  190.     }
  191. #$}
  192.  
  193.  
  194. all_utils:
  195.     cd $(WXDIR)\utils
  196.     ${MAKE} -f makefile.b32
  197.     cd $(WXDIR)\src\msw
  198.  
  199. all_samples:
  200.     cd $(WXDIR)\samples
  201.     ${MAKE} -f makefile.b32
  202.     cd $(WXDIR)\src\msw
  203.  
  204. all_execs:
  205.     cd $(WXDIR)\utils
  206.     ${MAKE} -f makefile.b32 all_execs
  207.     cd $(WXDIR)\src\msw
  208.  
  209. png:    $(CFG)
  210.         cd $(WXDIR)\src\png
  211.         ${MAKE} -f makefile.b32 wxUSE_GUI=0
  212.         cd $(WXDIR)\src\msw
  213.  
  214. clean_png:
  215.         cd $(WXDIR)\src\png
  216.         ${MAKE} -f makefile.b32 clean
  217.         cd $(WXDIR)\src\msw
  218.  
  219. zlib:   $(CFG)
  220.         cd $(WXDIR)\src\zlib
  221.         ${MAKE} -f makefile.b32 wxUSE_GUI=0 lib
  222.         cd $(WXDIR)\src\msw
  223.  
  224. clean_zlib:
  225.         cd $(WXDIR)\src\zlib
  226.         ${MAKE} -f makefile.b32 clean
  227.         cd $(WXDIR)\src\msw
  228.  
  229. jpeg:    $(CFG)
  230.         cd $(WXDIR)\src\jpeg
  231.         ${MAKE} -f makefile.b32 wxUSE_GUI=0
  232.         cd $(WXDIR)\src\msw
  233.  
  234. clean_jpeg:
  235.         cd $(WXDIR)\src\jpeg
  236.         ${MAKE} -f makefile.b32 clean
  237.         cd $(WXDIR)\src\msw
  238.  
  239. regex:   $(CFG)
  240.         cd $(WXDIR)\src\regex
  241.         ${MAKE} -f makefile.b32 wxUSE_GUI=0 lib
  242.         cd $(WXDIR)\src\msw
  243.  
  244. clean_regex:
  245.         cd $(WXDIR)\src\regex
  246.         ${MAKE} -f makefile.b32 clean
  247.         cd $(WXDIR)\src\msw
  248.  
  249. tiff:   $(CFG)
  250.         cd $(WXDIR)\src\tiff
  251.         ${MAKE} -f makefile.b32 wxUSE_GUI=0 lib
  252.         cd $(WXDIR)\src\msw
  253.  
  254. clean_tiff:
  255.         cd $(WXDIR)\src\tiff
  256.         ${MAKE} -f makefile.b32 clean
  257.         cd $(WXDIR)\src\msw
  258.  
  259. $(CFG): makebase.b32
  260.     copy &&!
  261. -Hc
  262. -H=$(WXDIR)\src\msw\wx32.csm
  263. -3
  264. -d
  265. -a1 # byte alignment
  266. -R-
  267. -X
  268. -w-par
  269. -w-aus
  270. -w-hid # virtual function A hides virtual function B
  271. -tWM
  272. -tWC
  273.  
  274. -I$(ARCHINCDIR);$(WXINC);$(BCCDIR)\include;$(WXDIR)/src/generic;$(WXDIR)/src/png;$(WXDIR)/src/jpeg;$(WXDIR)/src/zlib;$(WXDIR)/src/tiff;$(THISDIR)
  275. -I$(WXDIR)\include\wx\msw\gnuwin32
  276.  
  277. -L$(BCCDIR)\lib;$(BCCDIR)\lib\psdk
  278. -D__WXWIN__
  279. -D__WXMSW__
  280. -D__WINDOWS__
  281. -DWIN32
  282. $(OPT)
  283. $(DEBUG_FLAGS)
  284. $(WIN95FLAG)
  285. ! $(CFG)
  286.  
  287. clean: $(PERIPH_CLEAN_TARGET)
  288.     -erase $(WXLIBDIR)\wx.tds
  289.     -erase $(WXLIBDIR)\wx.il?
  290.     -erase *.obj
  291.     -erase *.pch
  292.     -erase *.csm
  293.     -erase "wx32.#??"
  294.  
  295. cleanall: clean
  296.  
  297. self:
  298.     cd $(WXWIN)\distrib\msw\tmake
  299.     tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
  300.     copy makefile.$(MFTYPE) $(WXWIN)\src\msw
  301.