|
1 #! |
|
2 #! This TMAKE template - Microsoft Visual C++ 5.0 libraries |
|
3 #! |
|
4 #${ |
|
5 if ( Config("qt") || Config("opengl") ) { |
|
6 Project('CONFIG += windows'); |
|
7 } |
|
8 if ( Config("qt") ) { |
|
9 $moc_aware = 1; |
|
10 AddIncludePath(Project('TMAKE_INCDIR_QT')); |
|
11 } |
|
12 |
|
13 $project{"VC_PROJ_TYPE"} = 'Win32 (x86) Static Library'; |
|
14 $project{"VC_PROJ_CODE"} = '0x0104'; |
|
15 |
|
16 $vc_cpp_def_release = '/D "NDEBUG" /D "WIN32" /D "_WINDOWS" '; |
|
17 $vc_cpp_def_debug = '/D "_DEBUG" /D "WIN32" /D "_WINDOWS" '; |
|
18 $vc_cpp_opt_release = '/nologo /W3 /GX /O2 '; |
|
19 $vc_cpp_opt_debug = '/nologo /W3 /Gm /GX /Zi /Od '; |
|
20 $vc_cpp_opt_common = '/YX /FD /c'; |
|
21 $project{"VC_BASE_CPP_RELEASE"} = $vc_cpp_opt_release . $vc_cpp_def_release . $vc_cpp_opt_common; |
|
22 $project{"VC_BASE_CPP_DEBUG"} = $vc_cpp_opt_debug . $vc_cpp_def_debug . $vc_cpp_opt_common; |
|
23 ExpandPath("INCPATH",'/I ',' /I ',''); |
|
24 if ( $text ne "" ) { $vc_inc = $text . " "; $text = ""; } else { $vc_inc = ""; } |
|
25 ExpandGlue("DEFINES",'/D "','" /D "','"'); |
|
26 if ( $text ne "" ) { $vc_def = $text . " "; $text = ""; } else { $vc_def = ""; } |
|
27 $project{"VC_CPP_RELEASE"} = $vc_cpp_opt_release . $vc_inc . $vc_cpp_def_release . $vc_def . $vc_cpp_opt_common; |
|
28 $project{"VC_CPP_DEBUG"} = $vc_cpp_opt_debug . $vc_inc . $vc_cpp_def_debug . $vc_def . $vc_cpp_opt_common; |
|
29 |
|
30 $project{"MAKEFILE"} = $project{"PROJECT"} . ".mak"; |
|
31 $project{"TARGETLIB"} = $project{"TARGET"} . ".lib"; |
|
32 Project('TMAKE_FILETAGS = HEADERS SOURCES TARGET DESTDIR $$FILETAGS'); |
|
33 foreach ( split(/\s/,Project('TMAKE_FILETAGS')) ) { |
|
34 $project{$_} =~ s-/-\\-g; |
|
35 } |
|
36 StdInit(); |
|
37 if ( defined($project{"DESTDIR"}) ) { |
|
38 $project{"TARGETLIB"} = $project{"DESTDIR"} . "\\" . $project{"TARGETLIB"}; |
|
39 $project{"TARGETLIB"} =~ s/\\+/\\/g; |
|
40 } |
|
41 %all_files = (); |
|
42 @files = split(/\s+/,$project{"HEADERS"}); |
|
43 foreach ( @files ) { $all_files{$_} = "h" }; |
|
44 @files = split(/\s+/,$project{"SOURCES"}); |
|
45 foreach ( @files ) { $all_files{$_} = "s" }; |
|
46 if ( $moc_aware ) { |
|
47 @files = split(/\s+/,$project{"_HDRMOC"}); |
|
48 foreach ( @files ) { $all_files{$_} = "m"; } |
|
49 @files = split(/\s+/,$project{"_SRCMOC"}); |
|
50 foreach ( @files ) { $all_files{$_} = "i"; } |
|
51 } |
|
52 %file_names = (); |
|
53 foreach $f ( %all_files ) { |
|
54 $n = $f; |
|
55 $n =~ s/^.*\\//; |
|
56 $file_names{$n} = $f; |
|
57 $file_path{$n} = ".\\" . $f; |
|
58 $file_path2{$n} = (($f =~ /^\./) ? "" : ".\\") . $f; |
|
59 } |
|
60 #$} |
|
61 # Microsoft Developer Studio Project File - #$ Substitute('Name="$$TARGET" - Package Owner=<4>'); |
|
62 # Microsoft Developer Studio Generated Build File, Format Version 5.00 |
|
63 # ** DO NOT EDIT ** |
|
64 |
|
65 # TARGTYPE #$ Substitute('"$$VC_PROJ_TYPE" $$VC_PROJ_CODE'); |
|
66 |
|
67 CFG=#$ Substitute('$$TARGET - Win32 Debug'); |
|
68 !MESSAGE This is not a valid makefile. To build this project using NMAKE, |
|
69 !MESSAGE use the Export Makefile command and run |
|
70 !MESSAGE |
|
71 !MESSAGE NMAKE /f "#$ ExpandGlue('MAKEFILE','','','".'); |
|
72 !MESSAGE |
|
73 !MESSAGE You can specify a configuration when running NMAKE |
|
74 !MESSAGE by defining the macro CFG on the command line. For example: |
|
75 !MESSAGE |
|
76 !MESSAGE NMAKE /f #$ Substitute('"$$MAKEFILE" CFG="$$TARGET - Win32 Debug"'); |
|
77 !MESSAGE |
|
78 !MESSAGE Possible choices for configuration are: |
|
79 !MESSAGE |
|
80 !MESSAGE #$ Substitute('"$$TARGET - Win32 Release" (based on "$$VC_PROJ_TYPE")'); |
|
81 !MESSAGE #$ Substitute('"$$TARGET - Win32 Debug" (based on "$$VC_PROJ_TYPE")'); |
|
82 !MESSAGE |
|
83 |
|
84 # Begin Project |
|
85 # PROP Scc_ProjName "" |
|
86 # PROP Scc_LocalPath "" |
|
87 CPP=cl.exe |
|
88 |
|
89 !IF "$(CFG)" == #$ Substitute('"$$TARGET - Win32 Release"'); |
|
90 |
|
91 # PROP BASE Use_MFC 0 |
|
92 # PROP BASE Use_Debug_Libraries 0 |
|
93 # PROP BASE Output_Dir "Release" |
|
94 # PROP BASE Intermediate_Dir "Release" |
|
95 # PROP BASE Target_Dir "" |
|
96 # PROP Use_MFC 0 |
|
97 # PROP Use_Debug_Libraries 0 |
|
98 # PROP Output_Dir "Release" |
|
99 # PROP Intermediate_Dir "Release" |
|
100 # PROP Target_Dir "" |
|
101 # ADD BASE CPP #$ Expand("VC_BASE_CPP_RELEASE"); |
|
102 # ADD CPP #$ Expand("VC_CPP_RELEASE"); |
|
103 BSC32=bscmake.exe |
|
104 # ADD BASE BSC32 /nologo |
|
105 # ADD BSC32 /nologo |
|
106 LIB32=link.exe -lib |
|
107 # ADD BASE LIB32 /nologo |
|
108 # ADD LIB32 /nologo #$ Project("TARGETLIB") && Substitute('/out:"$$TARGETLIB"'); |
|
109 |
|
110 !ELSEIF "$(CFG)" == #$ Substitute('"$$TARGET - Win32 Debug"'); |
|
111 |
|
112 # PROP BASE Use_MFC 0 |
|
113 # PROP BASE Use_Debug_Libraries 1 |
|
114 # PROP BASE Output_Dir "Debug" |
|
115 # PROP BASE Intermediate_Dir "Debug" |
|
116 # PROP BASE Target_Dir "" |
|
117 # PROP Use_MFC 0 |
|
118 # PROP Use_Debug_Libraries 1 |
|
119 # PROP Output_Dir "Debug" |
|
120 # PROP Intermediate_Dir "Debug" |
|
121 # PROP Target_Dir "" |
|
122 # ADD BASE CPP #$ Expand("VC_BASE_CPP_DEBUG"); |
|
123 # ADD CPP #$ Expand("VC_CPP_DEBUG"); |
|
124 BSC32=bscmake.exe |
|
125 # ADD BASE BSC32 /nologo |
|
126 # ADD BSC32 /nologo |
|
127 LIB32=link.exe -lib |
|
128 # ADD BASE LIB32 /nologo |
|
129 # ADD LIB32 /nologo #$ Project("TARGETLIB") && Substitute('/out:"$$TARGETLIB"'); |
|
130 |
|
131 !ENDIF |
|
132 |
|
133 # Begin Target |
|
134 |
|
135 # Name #$Substitute('"$$TARGET - Win32 Release"'); |
|
136 # Name #$Substitute('"$$TARGET - Win32 Debug"'); |
|
137 #${ |
|
138 foreach $n ( sort keys %file_names ) { |
|
139 $f = $file_names{$n}; |
|
140 $p = $file_path{$n}; |
|
141 $p2 = $file_path2{$n}; |
|
142 $t = $all_files{$f}; |
|
143 if ( ($t eq "h") && $moc_output{$f} ) { |
|
144 my($build); |
|
145 $build = "\n\n# Begin Custom Build - Running moc...\nInputPath=" . $p2 . "\n\n" |
|
146 . '"' . $moc_output{$f} . '" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"' |
|
147 . "\n\tmoc $p2 -o " . $moc_output{$f} . "\n\n" |
|
148 . "# End Custom Build\n\n"; |
|
149 $text .= ("# Begin Source File\n\nSOURCE=$p\n\n" |
|
150 . '!IF "$(CFG)" == "' . $project{"TARGET"} . ' - Win32 Release"' |
|
151 . $build); |
|
152 $text .= ('!ELSEIF "$(CFG)" == "' . $project{"TARGET"} . ' - Win32 Debug"' |
|
153 . $build |
|
154 . "!ENDIF \n\n# End Source File\n"); |
|
155 } elsif ( $t eq "i" ) { |
|
156 my($build,$dn); |
|
157 $build = "\n\n# Begin Custom Build - Running moc...\nInputPath=" . $p2 . "\n\n" |
|
158 . '"' . $f . '" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"' |
|
159 . "\n\tmoc ". $moc_input{$f} . " -o $f\n\n" |
|
160 . "# End Custom Build\n\n"; |
|
161 $dn = $n; |
|
162 $dn =~ s/\..*//; |
|
163 $dn =~ tr/a-z/A-Z/; |
|
164 $text .= ("# Begin Source File\n\nSOURCE=$p\n" |
|
165 . "USERDEP__$dn=" . '"' . $moc_input{$f} . '"' . "\n\n" |
|
166 . '!IF "$(CFG)" == "' . $project{"TARGET"} . ' - Win32 Release"' |
|
167 . $build); |
|
168 $text .= ('!ELSEIF "$(CFG)" == "' . $project{"TARGET"} . ' - Win32 Debug"' |
|
169 . $build |
|
170 . "!ENDIF \n\n# End Source File\n"); |
|
171 } elsif ( $t eq "s" || $t eq "m" || $t eq "h" ) { |
|
172 $text .= "# Begin Source File\n\nSOURCE=$p\n# End Source File\n"; |
|
173 } |
|
174 } |
|
175 chop $text; |
|
176 #$} |
|
177 # End Target |
|
178 # End Project |