⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vc.t

📁 Wxpython Implemented on Windows CE, Source code
💻 T
📖 第 1 页 / 共 2 页
字号:
#!#############################################################################
#! File:    vc.t
#! Purpose: tmake template file from which makefile.vc is generated by running
#!          tmake -t vc wxwin.pro -o makefile.vc
#! Author:  Vadim Zeitlin
#! Created: 14.07.99
#! Version: $Id: vc.t,v 1.53 2003/11/06 15:21:36 JS Exp $
#!#############################################################################
#${
    #! include the code which parses filelist.txt file and initializes
    #! %wxCommon, %wxGeneric and %wxMSW hashes.
    IncludeTemplate("filelist.t");

    #! now transform these hashes into $project tags
    foreach $file (sort keys %wxGeneric) {
        next if $wxGeneric{$file} =~ /\bU\b/;

        my $tag = "";
        if ( $wxGeneric{$file} =~ /\b(PS|G|16|U)\b/ ) {
            $tag = "WXNONESSENTIALOBJS";
        }
        else {
            $tag = "WXGENERICOBJS";
        }

        $file =~ s/cp?p?$/obj/;
        $project{$tag} .= "\$(GENDIR)\\\$D\\" . $file . " "
    }

    foreach $file (sort keys %wxCommon) {
        next if $wxCommon{$file} =~ /\b(16|U)\b/;

        $file =~ s/cp?p?$/obj/;
        $project{"WXCOMMONOBJS"} .= "\$(COMMDIR)\\\$D\\" . $file . " "
    }

    foreach $file (sort keys %wxMSW) {
        next if $wxMSW{$file} =~ /\b16\b/;

        #! OLE files live in a subdir
        if( $wxMSW{$file} =~ /\bO\b/ ) {
            $project{"WXMSWOBJS"} .= '$(OLEDIR)';
        } else {
            $project{"WXMSWOBJS"} .= '$(MSWDIR)';
        }
        $file =~ s/cp?p?$/obj/;
        $project{"WXMSWOBJS"} .= '\\$D\\' . $file . " ";
    }

    foreach $file (sort keys %wxHTML) {
        next if $wxHTML{$file} =~ /\b16\b/;

        $file =~ s/cp?p?$/obj/;
        $project{"WXHTMLOBJS"} .= "\$(HTMLDIR)\\\$D\\" . $file . " "
    }

#$}
# This file was automatically generated by tmake
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE VC.T!

# File:     makefile.vc
# Author:   Julian Smart
# Created:  1997
# Updated:
# Copyright: (c) 1997, Julian Smart
#
# "%W% %G%"
#
# Makefile : Builds wxWindows library wx.lib for VC++ (32-bit)
# Arguments:
#
# FINAL=1 argument to nmake to build version with no debugging info.
# dll builds a library (wxdll.lib) suitable for creating DLLs
#
!include <..\makevc.env>

THISDIR=$(WXWIN)\src\msw

!if "$(WXMAKINGDLL)" == "1"
LIBTARGET=$(WXDIR)\lib\$(WXLIBNAME).dll
!else
LIBTARGET=$(WXLIB)
!endif

# This one overrides the others, to be consistent with the settings in setup.h
MINIMAL_WXWINDOWS_SETUP=0

PERIPH_LIBS=
PERIPH_TARGET=
PERIPH_CLEAN_TARGET=

# Set to 0 if not using GLCanvas (only affects DLL build)
USE_GLCANVAS=1

# Set to 1 if you are using MSVC 5
USE_MSVC_5=0

# These are absolute paths, so that the compiler
# generates correct __FILE__ symbols for debugging.
# Otherwise you don't be able to double-click on a memory
# error to load that file.
GENDIR=$(WXDIR)\src\generic
COMMDIR=$(WXDIR)\src\common
OLEDIR=ole
MSWDIR=$(WXDIR)\src\msw
DOCDIR = $(WXDIR)\docs
HTMLDIR = $(WXDIR)\src\html
JPEGDIR = $(WXDIR)\src\jpeg
TIFFDIR = $(WXDIR)\src\tiff
REGEXDIR = $(WXDIR)\src\regex


{$(GENDIR)}.cpp{$(GENDIR)\$D}.obj:
	cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $<
<<

{$(COMMDIR)}.cpp{$(COMMDIR)\$D}.obj:
	cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $<
<<

{$(COMMDIR)}.c{$(COMMDIR)\$D}.obj:
	cl @<<
$(CPPFLAGS2) /Fo$@ /c /Tc $<
<<

{$(MSWDIR)}.cpp{$(MSWDIR)\$D}.obj:
	cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $<
<<

{$(MSWDIR)}.c{$(MSWDIR)\$D}.obj:
	cl @<<
$(CPPFLAGS2) /Fo$@ /c /Tc $<
<<

{$(OLEDIR)}.cpp{$(OLEDIR)\$D}.obj:
	cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $<
<<

{$(HTMLDIR)}.cpp{$(HTMLDIR)\$D}.obj:
	cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $<
<<

GENERICOBJS= #$ ExpandList("WXGENERICOBJS");

# These are generic things that don't need to be compiled on MSW,
# but sometimes it's useful to do so for testing purposes.
NONESSENTIALOBJS= #$ ExpandList("WXNONESSENTIALOBJS");

COMMONOBJS = \
		#$ ExpandList("WXCOMMONOBJS");

MSWOBJS = #$ ExpandList("WXMSWOBJS");

HTMLOBJS = #$ ExpandList("WXHTMLOBJS");


# Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc.
# Add $(HTMLOBJS) if wanting wxHTML classes
OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS) $(HTMLOBJS)

ARCHINCDIR=$(WXDIR)\lib\$(_WXINC_BUILD)$(_WXINC_DLLSUFFIX)$(_WXINC_SUFFIX)$(LIBEXT)
SETUP_H=$(ARCHINCDIR)\wx\setup.h

# Normal, static library
all:    dirs $(SETUP_H) $(DUMMYOBJ) $(OBJECTS) $(PERIPH_TARGET) png zlib jpeg tiff regex $(LIBTARGET)

$(ARCHINCDIR)\wx:
    mkdir $(ARCHINCDIR)
    mkdir $(ARCHINCDIR)\wx

$(WXDIR)\include\wx\msw\setup.h:
    cd $(WXDIR)\include\wx\msw
    if not exist setup.h copy setup0.h setup.h
    cd $(WXDIR)\src\msw

$(SETUP_H): $(WXDIR)\include\wx\msw\setup.h
    copy $(WXDIR)\include\wx\msw\setup.h $@

dirs: $(MSWDIR)\$D $(COMMDIR)\$D $(GENDIR)\$D $(OLEDIR)\$D $(HTMLDIR)\$D $(JPEGDIR)\$D $(TIFFDIR)\$D $(REGEXDIR)\$D $(ARCHINCDIR)\wx $(WXDIR)\$D

$D:
    mkdir $D

$(COMMDIR)\$D:
    mkdir $(COMMDIR)\$D

$(MSWDIR)\$D:
    mkdir $(MSWDIR)\$D

$(GENDIR)\$D:
    mkdir $(GENDIR)\$D

$(OLEDIR)\$D:
    mkdir $(OLEDIR)\$D

$(HTMLDIR)\$D:
    mkdir $(HTMLDIR)\$D

$(JPEGDIR)\$D:
    mkdir $(JPEGDIR)\$D

$(TIFFDIR)\$D:
    mkdir $(TIFFDIR)\$D

$(REGEXDIR)\$D:
    mkdir $(REGEXDIR)\$D

$(WXDIR)\$D:
    mkdir $(WXDIR)\$D


# wxWindows library as DLL
dll:
        nmake -f makefile.vc all FINAL=$(FINAL) DLL=1 WXMAKINGDLL=1 NEW_WXLIBNAME=$(NEW_WXLIBNAME) UNICODE=$(UNICODE) MSLU=$(MSLU)

cleandll:
        nmake -f makefile.vc clean FINAL=$(FINAL) DLL=1 WXMAKINGDLL=1 NEW_WXLIBNAME=$(NEW_WXLIBNAME) UNICODE=$(UNICODE) MSLU=$(MSLU)

# wxWindows + app as DLL. Only affects main.cpp.
dllapp:
        nmake -f makefile.vc all FINAL=$(FINAL) DLL=1 UNICODE=$(UNICODE) MSLU=$(MSLU)

# wxWindows + app as DLL, for Netscape plugin - remove DllMain.
dllnp:
        nmake -f makefile.vc all NOMAIN=1 FINAL=$(FINAL) DLL=1 UNICODE=$(UNICODE) MSLU=$(MSLU)

# Use this to make dummy.obj and generate a PCH.
# You might use the dll target, then the pch target, in order to
# generate a DLL, then a PCH/dummy.obj for compiling your applications with.
#
# Explanation: Normally, when compiling a static version of wx.lib, your dummy.obj/PCH
# are associated with wx.lib. When using a DLL version of wxWindows, however,
# the DLL is compiled without a PCH, so you only need it for compiling the app.
# In fact headers are compiled differently depending on whether a DLL is being made
# or an app is calling the DLL exported functionality (WXDLLEXPORT is different
# in each case) so you couldn't use the same PCH.
pch:
        nmake -f makefile.vc pch1 WXUSINGDLL=1 FINAL=$(FINAL) NEW_WXLIBNAME=$(NEW_WXLIBNAME)

pch1:   dirs $(DUMMYOBJ)
    echo $(DUMMYOBJ)

!if "$(WXMAKINGDLL)" != "1"

### Static library

$(WXDIR)\lib\$(WXLIBNAME).lib:      $(DUMMYOBJ) $(OBJECTS) $(PERIPH_LIBS)
	-erase $(LIBTARGET)
	$(implib) @<<
-out:$@
-machine:$(CPU)
$(OBJECTS) $(DUMMYOBJ) $(PERIPH_LIBS)
<<

!else

### Update the import library

$(WXDIR)\lib\$(WXLIBNAME).lib: $(DUMMYOBJ) $(OBJECTS)
    $(implib) @<<
    -machine:$(CPU)
    -def:wx.def
    $(DUMMYOBJ) $(OBJECTS)
    -out:$(WXDIR)\lib\$(WXLIBNAME).lib
<<

!if "$(USE_GLCANVAS)" == "1"
GL_LIBS=opengl32.lib glu32.lib
# GL_LIBS_DELAY=/delayload:opengl32.dll
!endif

!if "$(USE_MSVC_5)" == "1"
# we are too big
INCREMENTAL=/INCREMENTAL:NO
DELAY_LOAD=
!else
INCREMENTAL=
DELAY_LOAD=delayimp.lib \
	/delayload:ws2_32.dll /delayload:advapi32.dll /delayload:user32.dll \
        /delayload:gdi32.dll \
	/delayload:comdlg32.dll /delayload:shell32.dll /delayload:comctl32.dll \
        /delayload:ole32.dll \
	/delayload:oleaut32.dll /delayload:rpcrt4.dll $(GL_LIBS_DELAY)
!endif

# Update the dynamic link library
$(WXDIR)\lib\$(WXLIBNAME).dll: $(DUMMYOBJ) $(OBJECTS)
    $(link) @<<
    $(LINKFLAGS) $(INCREMENTAL)
    -out:$(WXDIR)\lib\$(WXLIBNAME).dll
    $(DUMMYOBJ) $(OBJECTS) $(MSLU_LIBS) $(guilibsdll) shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib odbc32.lib advapi32.lib winmm.lib $(GL_LIBS) $(WXDIR)\lib\png$(LIBEXT).lib $(WXDIR)\lib\zlib$(LIBEXT).lib $(WXDIR)\lib\jpeg$(LIBEXT).lib $(WXDIR)\lib\tiff$(LIBEXT).lib $(WXDIR)\lib\regex$(LIBEXT).lib $(DELAY_LOAD)
<<

!endif

# /delayload:winmm.dll # Removed because it can cause a crash for some people

########################################################
# Windows-specific objects

$(DUMMYOBJ): $(DUMMY).$(SRCSUFF) $(WXDIR)\include\wx\wx.h $(SETUP_H)
        cl $(CPPFLAGS) $(MAKEPRECOMP) /Fo$(DUMMYOBJ) /c /Tp $(DUMMY).cpp

# Compile certain files with no optimization (some files cause a
# compiler crash for buggy versions of VC++, e.g. 4.0).
# Don't forget to put FINAL=1 on the command line.
noopt:
	cl @<<
$(CPPFLAGS2) /Od /Fo$(COMMDIR)\$D\datetime.obj /c /Tp $(COMMDIR)\datetime.cpp
<<
	cl @<<
$(CPPFLAGS2) /Od /Fo$(COMMDIR)\$D\encconv.obj /c /Tp $(COMMDIR)\encconv.cpp
<<
	cl @<<
$(CPPFLAGS2) /Od /Fo$(COMMDIR)\$D\fileconf.obj /c /Tp $(COMMDIR)\fileconf.cpp
<<
	cl @<<
$(CPPFLAGS2) /Od /Fo$(COMMDIR)\$D\hash.obj /c /Tp $(COMMDIR)\hash.cpp
<<
	cl @<<
$(CPPFLAGS2) /Od /Fo$(COMMDIR)\$D\textfile.obj /c /Tp $(COMMDIR)\textfile.cpp
<<
	cl @<<
$(CPPFLAGS2) /Od /Fo$(GENDIR)\$D\choicdgg.obj /c /Tp $(GENDIR)\choicdgg.cpp
<<
	cl @<<
$(CPPFLAGS2) /Od /Fo$(GENDIR)\$D\grid.obj /c /Tp $(GENDIR)\grid.cpp
<<
	cl @<<
$(CPPFLAGS2) /Od /Fo$(GENDIR)\$D\gridsel.obj /c /Tp $(GENDIR)\gridsel.cpp
<<
	cl @<<
$(CPPFLAGS2) /Od /Fo$(GENDIR)\$D\logg.obj /c /Tp $(GENDIR)\logg.cpp
<<
	cl @<<
$(CPPFLAGS2) /Od /Fo$(MSWDIR)\$D\clipbrd.obj /c /Tp $(MSWDIR)\clipbrd.cpp
<<
	cl @<<
$(CPPFLAGS2) /Od /Fo$(MSWDIR)\$D\control.obj /c /Tp $(MSWDIR)\control.cpp

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -