Orb/Doxygen/tmake/lib/win32-msvc/vcapp.t
changeset 0 42188c7ea2d9
equal deleted inserted replaced
-1:000000000000 0:42188c7ea2d9
       
     1 #!
       
     2 #! This TMAKE template - Microsoft Visual C++ 5.0 applications
       
     3 #!
       
     4 #${
       
     5     if ( Config("qt") ) {
       
     6 	if ( !(Project("DEFINES") =~ /QT_NODLL/) &&
       
     7 	     ((Project("DEFINES") =~ /QT_(?:MAKE)?DLL/) ||
       
     8 	      ($ENV{"QT_DLL"} && !$ENV{"QT_NODLL"})) ) {
       
     9 	    Project('TMAKE_QT_DLL = 1');
       
    10 	    if ( (Project("TARGET") eq "qt") && Project("TMAKE_LIB_FLAG") ) {
       
    11 		Project('CONFIG += dll');
       
    12 	    }
       
    13 	}
       
    14     }
       
    15     if ( Config("qt") || Config("opengl") ) {
       
    16 	Project('CONFIG += windows');
       
    17     }
       
    18     if ( Config("qt") ) {
       
    19 	$moc_aware = 1;
       
    20 	AddIncludePath(Project('TMAKE_INCDIR_QT'));
       
    21 	if ( Config("opengl") ) {
       
    22 	    Project('TMAKE_LIBS *= $$TMAKE_LIBS_QT_OPENGL');
       
    23 	}
       
    24 	if ( Project("TMAKE_QT_DLL") ) {
       
    25 	    Project('DEFINES *= QT_DLL');
       
    26 	}
       
    27 	Project('TMAKE_LIBS *= $$TMAKE_LIBS_QT');
       
    28 	if ( Project("TMAKE_QT_DLL") ) {
       
    29 	    my $qtver =FindHighestLibVersion($ENV{"QTDIR"} . "/lib", "qt");
       
    30 	    Project("TMAKE_LIBS /= s/qt.lib/qt${qtver}.lib/");
       
    31 	    Project('TMAKE_LIBS *= $$TMAKE_LIBS_QT_DLL');
       
    32 	}
       
    33     }
       
    34     if ( Config("opengl") ) {
       
    35 	Project('TMAKE_LIBS *= $$TMAKE_LIBS_OPENGL');
       
    36     }
       
    37     Project('TMAKE_LIBS += $$LIBS');
       
    38 
       
    39     if ( Config("console") ) {
       
    40 	$project{"VC_PROJ_TYPE"} = 'Win32 (x86) Console Application';
       
    41 	$project{"VC_PROJ_CODE"} = '0x0103';
       
    42 	$vc_base_libs = 'kernel32.lib user32.lib gdi32.lib winspool.lib ' .
       
    43 			'comdlg32.lib advapi32.lib shell32.lib ole32.lib ' .
       
    44 			'oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ';
       
    45 	$vc_libs = $vc_base_libs;
       
    46 	$vc_link_release = '/nologo /subsystem:console /machine:I386';
       
    47 	$vc_link_debug   = '/nologo /subsystem:console /debug /machine:I386 /pdbtype:sept';
       
    48 	$vc_cpp_def_release = '/D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" ';
       
    49 	$vc_cpp_def_debug   = '/D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" ';
       
    50     } else {
       
    51 	$project{"VC_PROJ_TYPE"} = 'Win32 (x86) Application';
       
    52 	$project{"VC_PROJ_CODE"} = '0x0101';
       
    53 	$vc_base_libs = 'kernel32.lib user32.lib gdi32.lib winspool.lib ' .
       
    54 			'comdlg32.lib advapi32.lib shell32.lib ole32.lib ' .
       
    55 			'oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ';
       
    56 	$vc_libs = $vc_base_libs . 'wsock32.lib ';
       
    57 	$vc_link_release = '/nologo /subsystem:windows /machine:I386';
       
    58 	$vc_link_debug   = '/nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept';
       
    59 	$vc_cpp_def_release = '/D "NDEBUG" /D "WIN32" /D "_WINDOWS" ';
       
    60 	$vc_cpp_def_debug   = '/D "_DEBUG" /D "WIN32" /D "_WINDOWS" ';
       
    61     }
       
    62     $project{"VC_BASE_LINK_RELEASE"} = $vc_base_libs . $vc_link_release;
       
    63     $project{"VC_BASE_LINK_DEBUG"}   = $vc_base_libs . $vc_link_debug;
       
    64     $tmake_libs = Project('TMAKE_LIBS') ? (Project('TMAKE_LIBS') . " ") : "";
       
    65     $project{"VC_LINK_RELEASE"} = $vc_libs . $tmake_libs . $vc_link_release;
       
    66     $project{"VC_LINK_DEBUG"}   = $vc_libs . $tmake_libs . $vc_link_debug;
       
    67 
       
    68     $vc_cpp_opt_release = '/nologo /W3 /GX /O2 ';
       
    69     $vc_cpp_opt_debug   = '/nologo /W3 /Gm /GX /Zi /Od ';
       
    70     $vc_cpp_opt_common  = '/YX /FD /c';
       
    71     $project{"VC_BASE_CPP_RELEASE"} = $vc_cpp_opt_release . $vc_cpp_def_release . $vc_cpp_opt_common;
       
    72     $project{"VC_BASE_CPP_DEBUG"}   = $vc_cpp_opt_debug   . $vc_cpp_def_debug   . $vc_cpp_opt_common;
       
    73     ExpandPath("INCPATH",'/I ',' /I ','');
       
    74     if ( $text ne "" ) { $vc_inc = $text . " ";  $text = ""; } else { $vc_inc = ""; }
       
    75     ExpandGlue("DEFINES",'/D "','" /D "','"');
       
    76     if ( $text ne "" ) { $vc_def = $text . " ";  $text = ""; } else { $vc_def = ""; }
       
    77     $project{"VC_CPP_RELEASE"} = $vc_cpp_opt_release . $vc_inc . $vc_cpp_def_release . $vc_def . $vc_cpp_opt_common;
       
    78     $project{"VC_CPP_DEBUG"}   = $vc_cpp_opt_debug   . $vc_inc . $vc_cpp_def_debug   . $vc_def . $vc_cpp_opt_common;
       
    79 
       
    80     $project{"MAKEFILE"}  = $project{"PROJECT"} . ".mak";
       
    81     $project{"TARGETAPP"} = $project{"TARGET"}  . ".exe";
       
    82     Project('TMAKE_FILETAGS = HEADERS SOURCES TARGET DESTDIR $$FILETAGS');
       
    83     foreach ( split(/\s/,Project('TMAKE_FILETAGS')) ) {
       
    84 	$project{$_} =~ s-/-\\-g;
       
    85     }
       
    86     StdInit();
       
    87     if ( defined($project{"DESTDIR"}) ) {
       
    88 	$project{"TARGETAPP"} = $project{"DESTDIR"} . "\\" . $project{"TARGETAPP"};
       
    89 	$project{"TARGETAPP"} =~ s/\\+/\\/g;
       
    90     }
       
    91     %all_files = ();
       
    92     @files = split(/\s+/,$project{"HEADERS"});
       
    93     foreach ( @files ) { $all_files{$_} = "h" };
       
    94     @files = split(/\s+/,$project{"SOURCES"});
       
    95     foreach ( @files ) { $all_files{$_} = "s" };
       
    96     if ( $moc_aware ) {
       
    97         @files = split(/\s+/,$project{"_HDRMOC"});
       
    98 	foreach ( @files ) { $all_files{$_} = "m"; }
       
    99 	@files = split(/\s+/,$project{"_SRCMOC"});
       
   100 	foreach ( @files ) { $all_files{$_} = "i"; }
       
   101     }
       
   102     %file_names = ();
       
   103     foreach $f ( %all_files ) {
       
   104 	$n = $f;
       
   105 	$n =~ s/^.*\\//;
       
   106 	$file_names{$n} = $f;
       
   107 	$file_path{$n}  = ".\\" . $f;
       
   108 	$file_path2{$n} = (($f =~ /^\./) ? "" : ".\\") . $f;
       
   109     }
       
   110 #$}
       
   111 # Microsoft Developer Studio Project File - #$ Substitute('Name="$$TARGET" - Package Owner=<4>');
       
   112 # Microsoft Developer Studio Generated Build File, Format Version 5.00
       
   113 # ** DO NOT EDIT **
       
   114 
       
   115 # TARGTYPE #$ Substitute('"$$VC_PROJ_TYPE" $$VC_PROJ_CODE');
       
   116 
       
   117 CFG=#$ Substitute('$$TARGET - Win32 Debug');
       
   118 !MESSAGE This is not a valid makefile. To build this project using NMAKE,
       
   119 !MESSAGE use the Export Makefile command and run
       
   120 !MESSAGE 
       
   121 !MESSAGE NMAKE /f "#$ ExpandGlue('MAKEFILE','','','".');
       
   122 !MESSAGE 
       
   123 !MESSAGE You can specify a configuration when running NMAKE
       
   124 !MESSAGE by defining the macro CFG on the command line. For example:
       
   125 !MESSAGE 
       
   126 !MESSAGE NMAKE /f #$ Substitute('"$$MAKEFILE" CFG="$$TARGET - Win32 Debug"');
       
   127 !MESSAGE 
       
   128 !MESSAGE Possible choices for configuration are:
       
   129 !MESSAGE 
       
   130 !MESSAGE #$ Substitute('"$$TARGET - Win32 Release" (based on "$$VC_PROJ_TYPE")');
       
   131 !MESSAGE #$ Substitute('"$$TARGET - Win32 Debug" (based on "$$VC_PROJ_TYPE")');
       
   132 !MESSAGE 
       
   133 
       
   134 # Begin Project
       
   135 # PROP Scc_ProjName ""
       
   136 # PROP Scc_LocalPath ""
       
   137 CPP=cl.exe
       
   138 #$ Config("windows") && ($text='MTL=midl.exe');
       
   139 RSC=rc.exe
       
   140 
       
   141 !IF  "$(CFG)" == #$ Substitute('"$$TARGET - Win32 Release"');
       
   142 
       
   143 # PROP BASE Use_MFC 0
       
   144 # PROP BASE Use_Debug_Libraries 0
       
   145 # PROP BASE Output_Dir "Release"
       
   146 # PROP BASE Intermediate_Dir "Release"
       
   147 # PROP BASE Target_Dir ""
       
   148 # PROP Use_MFC 0
       
   149 # PROP Use_Debug_Libraries 0
       
   150 # PROP Output_Dir "Release"
       
   151 # PROP Intermediate_Dir "Release"
       
   152 #$ Config("windows") && ($text='# PROP Ignore_Export_Lib 0');
       
   153 # PROP Target_Dir ""
       
   154 # ADD BASE CPP #$ Expand("VC_BASE_CPP_RELEASE");
       
   155 # ADD CPP #$ Expand("VC_CPP_RELEASE");
       
   156 #$ Config("windows") || DisableOutput();
       
   157 # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
       
   158 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
       
   159 #$ Config("windows") || EnableOutput();
       
   160 # ADD BASE RSC /l 0x409 /d "NDEBUG"
       
   161 # ADD RSC /l 0x409 /d "NDEBUG"
       
   162 BSC32=bscmake.exe
       
   163 # ADD BASE BSC32 /nologo
       
   164 # ADD BSC32 /nologo
       
   165 LINK32=link.exe
       
   166 # ADD BASE LINK32 #$ Expand("VC_BASE_LINK_RELEASE");
       
   167 # ADD LINK32 #$ Expand("VC_LINK_RELEASE");
       
   168 
       
   169 !ELSEIF  "$(CFG)" == #$ Substitute('"$$TARGET - Win32 Debug"');
       
   170 
       
   171 # PROP BASE Use_MFC 0
       
   172 # PROP BASE Use_Debug_Libraries 1
       
   173 # PROP BASE Output_Dir "Debug"
       
   174 # PROP BASE Intermediate_Dir "Debug"
       
   175 # PROP BASE Target_Dir ""
       
   176 # PROP Use_MFC 0
       
   177 # PROP Use_Debug_Libraries 1
       
   178 # PROP Output_Dir "Debug"
       
   179 # PROP Intermediate_Dir "Debug"
       
   180 #$ Config("windows") && ($text='# PROP Ignore_Export_Lib 0');
       
   181 # PROP Target_Dir ""
       
   182 # ADD BASE CPP #$ Expand("VC_BASE_CPP_DEBUG");
       
   183 # ADD CPP #$ Expand("VC_CPP_DEBUG");
       
   184 #$ Config("windows") || DisableOutput();
       
   185 # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
       
   186 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
       
   187 #$ Config("windows") || EnableOutput();
       
   188 # ADD BASE RSC /l 0x409 /d "_DEBUG"
       
   189 # ADD RSC /l 0x409 /d "_DEBUG"
       
   190 BSC32=bscmake.exe
       
   191 # ADD BASE BSC32 /nologo
       
   192 # ADD BSC32 /nologo
       
   193 LINK32=link.exe
       
   194 # ADD BASE LINK32 #$ Expand("VC_BASE_LINK_DEBUG");
       
   195 # ADD LINK32 #$ Expand("VC_LINK_DEBUG");
       
   196 
       
   197 !ENDIF 
       
   198 
       
   199 # Begin Target
       
   200 
       
   201 # Name #$Substitute('"$$TARGET - Win32 Release"');
       
   202 # Name #$Substitute('"$$TARGET - Win32 Debug"');
       
   203 #${
       
   204     foreach $n ( sort keys %file_names ) {
       
   205 	$f  = $file_names{$n};
       
   206 	$p  = $file_path{$n};
       
   207 	$p2 = $file_path2{$n};
       
   208 	$t  = $all_files{$f};
       
   209 	if ( ($t eq "h") && $moc_output{$f} ) {
       
   210 	    my($build);
       
   211 	    $build = "\n\n# Begin Custom Build - Running moc...\nInputPath=" . $p2 . "\n\n"
       
   212 		   . '"' . $moc_output{$f} . '" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"'
       
   213 		   . "\n\tmoc $p2 -o " . $moc_output{$f} . "\n\n"
       
   214 		   . "# End Custom Build\n\n";
       
   215 	    $text .= ("# Begin Source File\n\nSOURCE=$p\n\n"
       
   216 		   . '!IF  "$(CFG)" == "' . $project{"TARGET"} . ' - Win32 Release"'
       
   217 		   . $build);
       
   218 	    $text .= ('!ELSEIF  "$(CFG)" == "' . $project{"TARGET"} . ' - Win32 Debug"'
       
   219 		   . $build
       
   220 		   . "!ENDIF \n\n# End Source File\n");
       
   221 	} elsif ( $t eq "i" ) {
       
   222 	    my($build,$dn);
       
   223 	    $build = "\n\n# Begin Custom Build - Running moc...\nInputPath=" . $p2 . "\n\n"
       
   224 		   . '"' . $f . '" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"'
       
   225 		   . "\n\tmoc ". $moc_input{$f} . " -o $f\n\n"
       
   226 		   . "# End Custom Build\n\n";
       
   227 	    $dn = $n;
       
   228 	    $dn =~ s/\..*//;
       
   229 	    $dn =~ tr/a-z/A-Z/;
       
   230 	    $text .= ("# Begin Source File\n\nSOURCE=$p\n"
       
   231 		   . "USERDEP__$dn=" . '"' . $moc_input{$f} . '"' . "\n\n"
       
   232 		   . '!IF  "$(CFG)" == "' . $project{"TARGET"} . ' - Win32 Release"'
       
   233 		   . $build);
       
   234 	    $text .= ('!ELSEIF  "$(CFG)" == "' . $project{"TARGET"} . ' - Win32 Debug"'
       
   235 		   . $build
       
   236 		   . "!ENDIF \n\n# End Source File\n");
       
   237 	} elsif ( $t eq "s" || $t eq "m" || $t eq "h" ) {
       
   238 	    $text .= "# Begin Source File\n\nSOURCE=$p\n# End Source File\n";
       
   239 	}
       
   240     }
       
   241     chop $text;
       
   242 #$}
       
   243 # End Target
       
   244 # End Project