Orb/Doxygen/tmake/lib/win32-watcom/generic.t
changeset 0 42188c7ea2d9
equal deleted inserted replaced
-1:000000000000 0:42188c7ea2d9
       
     1 #!
       
     2 #! This is a tmake template for building Win32 applications or libraries.
       
     3 #!
       
     4 #${
       
     5     if ( Config("qt") ) {
       
     6 	if ( $ENV{"QT_DLL"} && !$ENV{"QT_NODLL"} ) {
       
     7 	    Project('TMAKE_QT_DLL = 1');
       
     8 	    if ( Project("TARGET") eq "qt" ) {
       
     9 		Project('CONFIG += dll');
       
    10 	    }
       
    11 	}
       
    12     }
       
    13     if ( Config("dll") || Project("TMAKE_APP_FLAG") ) {
       
    14 	Project('CONFIG -= staticlib');
       
    15 	Project('TMAKE_APP_OR_DLL = 1');
       
    16     } else {
       
    17 	Project('CONFIG += staticlib');
       
    18     }
       
    19     if ( Config("warn_off") ) {
       
    20 	Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_WARN_OFF');
       
    21     } elsif ( Config("warn_on") ) {
       
    22 	Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_WARN_ON');
       
    23     }
       
    24     if ( Config("debug") ) {
       
    25 	Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_DEBUG');
       
    26 	Project('TMAKE_LFLAGS += $$TMAKE_LFLAGS_DEBUG');
       
    27     } elsif ( Config("release") ) {
       
    28 	Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_RELEASE');
       
    29 	Project('TMAKE_LFLAGS += $$TMAKE_LFLAGS_RELEASE');
       
    30     }
       
    31     if ( Config("qt") || Config("opengl") ) {
       
    32 	Project('CONFIG += windows' );
       
    33     }
       
    34     if ( Config("qt") ) {
       
    35 	$moc_aware = 1;
       
    36 	AddIncludePath(Project('TMAKE_INCDIR_QT'));
       
    37 	if ( Config("opengl") ) {
       
    38 	    Project('TMAKE_LIBS *= $$TMAKE_LIBS_QT_OPENGL');
       
    39 	}
       
    40 	if ( Project("TARGET") eq "qt" ) {
       
    41 	    if ( Project("TMAKE_QT_DLL") && !(Project("DEFINES") =~ /QT_NODLL/) ) {
       
    42 		Project('DEFINES *= QT_MAKEDLL');
       
    43 	    }
       
    44 	} else {
       
    45 	    if ( Project("TMAKE_QT_DLL") && !(Project("DEFINES") =~ /QT_NODLL/) ) {
       
    46 		Project('DEFINES *= QT_DLL');
       
    47 	    }
       
    48 	    Project('TMAKE_LIBS *= $$TMAKE_LIBS_QT');
       
    49 	    if ( (Project("DEFINES") =~ /QT_DLL/) ) {
       
    50 		my $qtver =FindHighestLibVersion($ENV{"QTDIR"} . "/lib", "qt");
       
    51 		Project("TMAKE_LIBS /= s/qt.lib/qt${qtver}.lib/");
       
    52 		Project('TMAKE_LIBS *= $$TMAKE_LIBS_QT_DLL');
       
    53 	    }
       
    54 	}
       
    55     }
       
    56     if ( Config("opengl") ) {
       
    57 	Project('TMAKE_LIBS *= $$TMAKE_LIBS_OPENGL');
       
    58     }
       
    59     if ( Config("dll") ) {
       
    60 	Project('TMAKE_LFLAGS_CONSOLE_ANY = $$TMAKE_LFLAGS_CONSOLE_DLL');
       
    61 	Project('TMAKE_LFLAGS_WINDOWS_ANY = $$TMAKE_LFLAGS_WINDOWS_DLL');
       
    62 	if ( Project("TMAKE_LIB_FLAG") ) {
       
    63 	    my $ver = Project("VERSION");
       
    64 	    $ver =~ s/\.//g;
       
    65 	    $project{"TARGET_EXT"} = "${ver}.dll";
       
    66 	} else {
       
    67 	    $project{"TARGET_EXT"} = ".dll";
       
    68 	}
       
    69     } else {
       
    70 	Project('TMAKE_LFLAGS_CONSOLE_ANY = $$TMAKE_LFLAGS_CONSOLE');
       
    71 	Project('TMAKE_LFLAGS_WINDOWS_ANY = $$TMAKE_LFLAGS_WINDOWS');
       
    72 	if ( Project('TMAKE_APP_FLAG') ) {
       
    73 	    $project{"TARGET_EXT"} = ".exe";
       
    74 	} else {
       
    75 	    $project{"TARGET_EXT"} = ".lib";
       
    76 	}
       
    77     }
       
    78     if ( Config("windows") ) {
       
    79 	if ( Config("console") ) {
       
    80 	    Project('TMAKE_LFLAGS *= $$TMAKE_LFLAGS_CONSOLE_ANY');
       
    81 	    Project('TMAKE_LIBS   *= $$TMAKE_LIBS_CONSOLE');
       
    82 	} else {
       
    83 	    Project('TMAKE_LFLAGS *= $$TMAKE_LFLAGS_WINDOWS_ANY');
       
    84 	}
       
    85 	Project('TMAKE_LIBS   *= $$TMAKE_LIBS_WINDOWS');
       
    86     } else {
       
    87 	Project('TMAKE_LFLAGS *= $$TMAKE_LFLAGS_CONSOLE_ANY');
       
    88 	Project('TMAKE_LIBS   *= $$TMAKE_LIBS_CONSOLE');
       
    89     }
       
    90     Project('TMAKE_LIBS += $$LIBS');
       
    91     Project('TMAKE_FILETAGS = HEADERS SOURCES DEF_FILE RC_FILE TARGET TMAKE_LIBS DESTDIR DLLDESTDIR $$FILETAGS');
       
    92     foreach ( split(/\s/,Project('TMAKE_FILETAGS')) ) {
       
    93 	$project{$_} =~ s-[/\\]+-\\-g;
       
    94     }
       
    95     if ( Project('DEF_FILE') ) {
       
    96 	Project('TMAKE_LFLAGS *= /DEF:$$DEF_FILE');
       
    97     }
       
    98     if ( Project('RC_FILE') ) {
       
    99 	if ( Project('RES_FILE') ) {
       
   100 	    tmake_error("Both .rc and .res file specified.\n" .
       
   101 			"Please specify one of them, not both.");
       
   102 	}
       
   103 	$project{"RES_FILE"} = $project{"RC_FILE"};
       
   104 	$project{"RES_FILE"} =~ s/\.rc$/.res/i;
       
   105 	Project('TARGETDEPS += $$RES_FILE');
       
   106     }
       
   107     if ( Project('RES_FILE') ) {
       
   108 	Project('TMAKE_LIBS *= $$RES_FILE');
       
   109     }
       
   110     $linebreak = '&';
       
   111     StdInit();
       
   112     if ( Project("VERSION") ) {
       
   113 	$project{"VER_MAJ"} = $project{"VERSION"};
       
   114 	$project{"VER_MAJ"} =~ s/\.\d+$//;
       
   115 	$project{"VER_MIN"} = $project{"VERSION"};
       
   116 	$project{"VER_MIN"} =~ s/^\d+\.//;
       
   117     }    
       
   118 #$}
       
   119 #!
       
   120 # Makefile for building #$ Expand("TARGET")
       
   121 # Generated by tmake at #$ Now();
       
   122 #     Project: #$ Expand("PROJECT");
       
   123 #    Template: #$ Expand("TEMPLATE");
       
   124 #############################################################################
       
   125 
       
   126 ####### Compiler, tools and options
       
   127 
       
   128 #$ Config("qt") || DisableOutput();
       
   129 QTDIR	=	#$ $text = $ENV{"QTDIR"};
       
   130 #$ Config("qt") || EnableOutput();
       
   131 CC	=	#$ Expand("TMAKE_CC");
       
   132 CFLAGS	=	#$ Expand("TMAKE_CFLAGS"); ExpandGlue("DEFINES","-d="," -d=","");
       
   133 INCPATH	=	#$ ExpandPath("INCPATH",'-i=',' -i=','');
       
   134 #$ !Project("TMAKE_APP_OR_DLL") && DisableOutput();
       
   135 LINK	=	#$ Expand("TMAKE_LINK");
       
   136 LFLAGS	=	#$ Expand("TMAKE_LFLAGS");
       
   137 LIBS	=	#$ Expand("TMAKE_LIBS");
       
   138 #$ !Project("TMAKE_APP_OR_DLL") && EnableOutput();
       
   139 #$ Project("TMAKE_APP_OR_DLL") && DisableOutput();
       
   140 LIB	=	#$ Expand("TMAKE_LIB");
       
   141 #$ Project("TMAKE_APP_OR_DLL") && EnableOutput();
       
   142 MOC	=	#$ Expand("TMAKE_MOC");
       
   143 
       
   144 ZIP	=	#$ Expand("TMAKE_ZIP");
       
   145 
       
   146 ####### Files
       
   147 
       
   148 HEADERS =	#$ ExpandList("HEADERS");
       
   149 SOURCES =	#$ ExpandList("SOURCES");
       
   150 OBJECTS =	#$ ExpandList("OBJECTS");
       
   151 SRCMOC	=	#$ ExpandList("SRCMOC");
       
   152 OBJMOC	=	#$ ExpandList("OBJMOC");
       
   153 DIST	=	#$ ExpandList("DISTFILES");
       
   154 TARGET	=	#$ ExpandGlue("TARGET",$project{"DESTDIR"},"",$project{"TARGET_EXT"});
       
   155 TMPLIST =	#$ ExpandGlue("TARGET","","",".lst");
       
   156 ####### Build rules
       
   157 
       
   158 all: #$ ExpandGlue("ALL_DEPS",""," "," "); $text .= '$(TARGET)';
       
   159 
       
   160 $(TARGET): $(OBJECTS) $(OBJMOC) #$ Expand("TARGETDEPS");
       
   161 	@%create $(TMPLIST)
       
   162 #$ Project("TMAKE_APP_OR_DLL") || DisableOutput();
       
   163 	@%append $(TMPLIST) NAME #$ Expand("TARGET");
       
   164 	#$ ExpandGlue("OBJECTS",'@%append $(TMPLIST) FIL ',",","");
       
   165 	#$ ExpandGlue("OBJMOC" ,'@%append $(TMPLIST) FIL ',",","");
       
   166 	#$ ExpandGlue("TMAKE_LIBS" ,'@%append $(TMPLIST) LIBR ',",","");
       
   167 	$(LINK) $(LFLAGS) @$(TMPLIST)
       
   168 #$ Project("TMAKE_APP_OR_DLL") || EnableOutput();
       
   169 #$ Project("TMAKE_APP_OR_DLL") && DisableOutput();
       
   170 	@for %i in ( $(OBJECTS) $(OBJMOC) ) do @%append $(TMPLIST) +'%i'
       
   171 	$(LIB) $(TARGET) @$(TMPLIST)
       
   172 #$ Project("TMAKE_APP_OR_DLL") && EnableOutput();
       
   173 	del $(TMPLIST)
       
   174 #$ (Config("dll") && Project("DLLDESTDIR")) || DisableOutput();
       
   175 	-copy $(TARGET) #$ Expand("DLLDESTDIR");
       
   176 #$ (Config("dll") && Project("DLLDESTDIR")) || EnableOutput();
       
   177 #$ Project('RC_FILE') || DisableOutput();
       
   178 
       
   179 #$ Substitute("\$\$RES_FILE: \$\$RC_FILE\n\t\$\$TMAKE_RC \$\$RC_FILE");
       
   180 #$ Project('RC_FILE') || EnableOutput();
       
   181 
       
   182 moc: $(SRCMOC)
       
   183 
       
   184 #$ TmakeSelf();
       
   185 
       
   186 dist:
       
   187 	#$ Substitute('$(ZIP) $$PROJECT.zip $$PROJECT.pro $(SOURCES) $(HEADERS) $(DIST)');
       
   188 
       
   189 clean:
       
   190 	#$ ExpandGlue("OBJECTS","-del ","\n\t-del ","");
       
   191 	#$ ExpandGlue("SRCMOC" ,"-del ","\n\t-del ","");
       
   192 	#$ ExpandGlue("OBJMOC" ,"-del ","\n\t-del ","");
       
   193 	-del $(TARGET)
       
   194 	#$ ExpandGlue("CLEAN_FILES","-del ","\n\t-del ","");
       
   195 
       
   196 ####### Compile
       
   197 
       
   198 #$ BuildObj(Project("OBJECTS"),Project("SOURCES"));
       
   199 #$ BuildMocObj(Project("OBJMOC"),Project("SRCMOC"));
       
   200 #$ BuildMocSrc(Project("HEADERS"));
       
   201 #$ BuildMocSrc(Project("SOURCES"));