📄 generic.t
字号:
#!#! This is a tmake template for building UNIX applications or libraries.#!#${ if (Config("debug")){ Project('DEFINES *= DEBUG'); } if (Config("qtopia")){ Project('CONFIG *= qt'); } Project('TMAKE_LIBS += $$LIBS'); if ( !Project("INTERFACE_DECL_PATH") ) { Project('INTERFACE_DECL_PATH = .' ); } if ( Project("TMAKE_LIB_FLAG") && !Config("staticlib") ) { Project('CONFIG *= dll'); } elsif ( Project("TMAKE_APP_FLAG") || Config("dll") ) { Project('CONFIG -= staticlib'); } if ( Config("warn_off") ) { Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_WARN_OFF'); Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_WARN_OFF'); } elsif ( Config("warn_on") ) { Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_WARN_ON'); Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_WARN_ON'); } if ( Config("debug") ) { Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_DEBUG'); Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_DEBUG'); Project('TMAKE_LFLAGS += $$TMAKE_LFLAGS_DEBUG'); } elsif ( Config("release") ) { Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_RELEASE'); Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_RELEASE'); Project('TMAKE_LFLAGS += $$TMAKE_LFLAGS_RELEASE'); } if ( Project("TMAKE_INCDIR") ) { AddIncludePath(Project("TMAKE_INCDIR")); } if ( Project("TMAKE_LIBDIR") ) { Project('TMAKE_LIBDIR_FLAGS *= -L$$TMAKE_LIBDIR'); } if ( Config("qt") || Config("opengl") ) { Project('CONFIG *= x11lib'); if ( Config("opengl") ) { Project('CONFIG *= x11inc'); } } if ( Config("x11") ) { Project('CONFIG *= x11lib'); Project('CONFIG *= x11inc'); } if (Config("qtopia")){ AddIncludePath(Project("TMAKE_INCDIR_QT")); AddIncludePath(Project("TMAKE_INCDIR_QTOPIA")); Project('TMAKE_LIBDIR_FLAGS *= -L$(QPEDIR)/lib'); if (!Config("qdesktop")){ if (Config("qpe")){ Project('TMAKE_LIBS *= -lqpe'); }else{ Project('TMAKE_LIBS *= -lqpe'); Project('TMAKE_LIBS *= $$TMAKE_LIBS_QTOPIA'); } } Project('CONFIG *= qt'); } if ( Config("qt") ) { Project('CONFIG *= moc'); AddIncludePath(Project("TMAKE_INCDIR_QT")); if ( !Config("debug") ) { Project('DEFINES += NO_DEBUG'); } if ( !(((Project("TARGET") eq "qt") || (Project("TARGET") eq "qt-mt") || (Project("TARGET") eq "qte") || (Project("TARGET") eq "qte-mt")) && Project("TMAKE_LIB_FLAG")) ) { Project("TMAKE_LIBDIR_QT") && Project('TMAKE_LIBDIR_FLAGS *= -L$$TMAKE_LIBDIR_QT'); if (Config("thread") && Project("TMAKE_LIBS_QT_THREAD")) { Project('TMAKE_LIBS *= $$TMAKE_LIBS_QT_THREAD'); } else { Project('TMAKE_LIBS *= $$TMAKE_LIBS_QT'); } } if (Config("qtopia") || Config("qdesktop")){ AddIncludePath('$(QPEDIR)/include'); Project('DEPENDPATH *= $(QPEDIR)/include .'); } } if ( Config("opengl") ) { AddIncludePath(Project("TMAKE_INCDIR_OPENGL")); Project("TMAKE_LIBDIR_OPENGL") && Project('TMAKE_LIBDIR_FLAGS *= -L$$TMAKE_LIBDIR_OPENGL'); Project('TMAKE_LIBS *= $$TMAKE_LIBS_OPENGL'); } if ( Config("x11inc") ) { AddIncludePath(Project("TMAKE_INCDIR_X11")); } if ( Config("x11lib") ) { Project("TMAKE_LIBDIR_X11") && Project('TMAKE_LIBDIR_FLAGS *= -L$$TMAKE_LIBDIR_X11'); Project('TMAKE_LIBS *= $$TMAKE_LIBS_X11'); } if ( Config("thread") ) { Project('DEFINES += QT_THREAD_SUPPORT'); Project("TMAKE_CFLAGS_THREAD") && Project('TMAKE_CFLAGS += $$TMAKE_CFLAGS_THREAD'); Project("TMAKE_CXXFLAGS_THREAD") && Project('TMAKE_CXXFLAGS += $$TMAKE_CXXFLAGS_THREAD'); AddIncludePath(Project("TMAKE_INCDIR_THREAD")); Project('TMAKE_LIBS *= $$TMAKE_LIBS_THREAD'); Project("TMAKE_LFLAGS_THREAD") && Project('TMAKE_LFLAGS += $$TMAKE_LFLAGS_THREAD'); } if ( Config("moc") ) { $moc_aware = 1; } if ( !Project("TMAKE_RUN_CC") ) { Project('TMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src'); } if ( !Project("TMAKE_RUN_CC_IMP") ) { Project('TMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<'); } if ( !Project("TMAKE_RUN_CXX") ) { Project('TMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src'); } if ( !Project("TMAKE_RUN_CXX_IMP") ) { Project('TMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<'); } Project('TMAKE_FILETAGS = HEADERS SOURCES TARGET DESTDIR $$FILETAGS'); if ( Config("embedded") && Project("PRECOMPH") ) { Project('SOURCES = allmoc.cpp $$SOURCES'); $project{'HEADERS_ORIG'} = Project('HEADERS'); $project{'HEADERS'} = ""; } StdInit(); $project{"VERSION"} || ($project{"VERSION"} = "1.0.0"); ($project{"VER_MAJ"},$project{"VER_MIN"},$project{"VER_PAT"}) = $project{"VERSION"} =~ /(\d+)\.(\d+)\.(\d+)/; if ( !defined($project{"VER_PAT"}) ) { ($project{"VER_MAJ"},$project{"VER_MIN"}) = $project{"VERSION"} =~ /(\d+)\.(\d+)/; $project{"VER_PAT"} = "0"; } if ( !defined($project{"VER_MIN"}) ) { ($project{"VER_MAJ"}) = $project{"VERSION"} =~ /(\d+)/; $project{"VER_MIN"} = "0"; $project{"VER_PAT"} = "0"; } Project('DESTDIR_TARGET = $(TARGET)'); if ( Project("TMAKE_APP_FLAG") ) { if ( Config("dll") ) { Project('TARGET = $$TARGET.so'); Project("TMAKE_LFLAGS_SHAPP") || ($project{"TMAKE_LFLAGS_SHAPP"} = $project{"TMAKE_LFLAGS_SHLIB"}); Project("TMAKE_LFLAGS_SONAME") && ($project{"TMAKE_LFLAGS_SONAME"} .= $project{"TARGET"}); } $project{"TARGET"} = $project{"DESTDIR"} . $project{"TARGET"}; } elsif ( Config("staticlib") ) { $project{"TARGET"} = $project{"DESTDIR"} . "lib" . $project{"TARGET"} . ".a"; Project("TMAKE_AR_CMD") || Project('TMAKE_AR_CMD = $(AR) $(TARGET) $(OBJECTS) $(OBJMOC)'); } else { $project{"TARGETA"} = $project{"DESTDIR"} . "lib" . $project{"TARGET"} . ".a"; if ( Project("TMAKE_AR_CMD") ) { $project{"TMAKE_AR_CMD"} =~ s/\(TARGET\)/\(TARGETA\)/g; } else { Project('TMAKE_AR_CMD = $(AR) $(TARGETA) $(OBJECTS) $(OBJMOC)'); } if ( $project{"TMAKE_HPUX_SHLIB"} ) { $project{"TARGET_"} = "lib" . $project{"TARGET"} . ".sl"; $project{"TARGET_x"} = "lib" . $project{"TARGET"} . "." . $project{"VER_MAJ"}; $project{"TARGET"} = $project{"TARGET_x"}; } elsif ( $project{"TMAKE_AIX_SHLIB"} ) { $project{"TARGET_"} = "lib" . $project{"TARGET"} . ".a"; $project{"TARGET_x"} = "lib" . $project{"TARGET"} . ".so." . $project{"VER_MAJ"}; $project{"TARGET_x.y"} = "lib" . $project{"TARGET"} . ".so." . $project{"VER_MAJ"} . "." . $project{"VER_MIN"}; $project{"TARGET_x.y.z"} = "lib" . $project{"TARGET"} . ".so." . $project{"VER_MAJ"} . "." . $project{"VER_MIN"} . "." . $project{"VER_PAT"}; $project{"TARGET"} = $project{"TARGET_x.y.z"}; } else { $project{"TARGET_"} = "lib" . $project{"TARGET"} . ".so"; $project{"TARGET_x"} = "lib" . $project{"TARGET"} . ".so." . $project{"VER_MAJ"}; $project{"TARGET_x.y"} = "lib" . $project{"TARGET"} . ".so." . $project{"VER_MAJ"} . "." . $project{"VER_MIN"}; $project{"TARGET_x.y.z"} = "lib" . $project{"TARGET"} . ".so." . $project{"VER_MAJ"} . "." . $project{"VER_MIN"} . "." . $project{"VER_PAT"}; $project{"TARGET"} = $project{"TARGET_x.y.z"}; } $project{"TMAKE_LN_SHLIB"} = "-ln -s"; if ( $project{"DESTDIR"} ) { $project{"DESTDIR_TARGET"} = $project{"DESTDIR"} . $project{"TARGET"}; } Project("TMAKE_LFLAGS_SONAME") && ($project{"TMAKE_LFLAGS_SONAME"} .= $project{"TARGET_x"}); $project{"TMAKE_LINK_SHLIB_CMD"} || ($project{"TMAKE_LINK_SHLIB_CMD"} = '$(LINK) $(LFLAGS) -o $(TARGETD) $(OBJECTS) $(OBJMOC) $(LIBS)'); } if ( Config("dll") ) { Project('TMAKE_CFLAGS *= $$TMAKE_CFLAGS_SHLIB' ); Project('TMAKE_CXXFLAGS *= $$TMAKE_CXXFLAGS_SHLIB' ); if ( Project("TMAKE_APP_FLAG") ) { Project('TMAKE_LFLAGS *= $$TMAKE_LFLAGS_SHAPP'); } else { Project('TMAKE_LFLAGS *= $$TMAKE_LFLAGS_SHLIB $$TMAKE_LFLAGS_SONAME'); } }#$}#!# Makefile for building #$ Expand("TARGET")# Generated by tmake at #$ Now();# Project: #$ Expand("PROJECT");# Template: #$ Expand("TEMPLATE");#################################################################################### Compiler, tools and optionsCC = #$ Expand("TMAKE_CC");CXX = #$ Expand("TMAKE_CXX");CFLAGS = #$ Expand("TMAKE_CFLAGS"); ExpandGlue("DEFINES","-D"," -D","");CXXFLAGS= #$ Expand("TMAKE_CXXFLAGS"); ExpandGlue("DEFINES","-D"," -D","");INCPATH = #$ ExpandPath("INCPATH","-I"," -I","");#$ Config("staticlib") && DisableOutput();LINK = #$ Expand("TMAKE_LINK");LFLAGS = #$ Expand("TMAKE_LFLAGS");LIBS = $(SUBLIBS) #$ Expand("TMAKE_LIBDIR_FLAGS"); Expand("TMAKE_LIBS");#$ Config("staticlib") && EnableOutput();#$ Project("TMAKE_LIB_FLAG") || DisableOutput();AR = #$ Expand("TMAKE_AR");RANLIB = #$ Expand("TMAKE_RANLIB");#$ Project("TMAKE_LIB_FLAG") || EnableOutput();MOC = #$ Expand("TMAKE_MOC");UIC = #$ Expand("TMAKE_UIC");TAR = #$ Expand("TMAKE_TAR");GZIP = #$ Expand("TMAKE_GZIP");####### FilesHEADERS = #$ ExpandList("HEADERS");SOURCES = #$ ExpandList("SOURCES");OBJECTS = #$ ExpandList("OBJECTS");INTERFACES = #$ ExpandList("INTERFACES");UICDECLS = #$ ExpandList("UICDECLS");UICIMPLS = #$ ExpandList("UICIMPLS");SRCMOC = #$ ExpandList("SRCMOC");OBJMOC = #$ ExpandList("OBJMOC");DIST = #$ ExpandList("DISTFILES");TARGET = #$ Expand("TARGET");#$ (Project("TMAKE_APP_FLAG") || Config("staticlib")) && DisableOutput();TARGETA = #$ Expand("TARGETA");#$ Project("TMAKE_HPUX_SHLIB") && DisableOutput();TARGETD = #$ Expand("TARGET_x.y.z");TARGET0 = #$ Expand("TARGET_");TARGET1 = #$ Expand("TARGET_x");TARGET2 = #$ Expand("TARGET_x.y");#$ Project("TMAKE_HPUX_SHLIB") && EnableOutput();#$ !Project("TMAKE_HPUX_SHLIB") && DisableOutput();TARGETD = #$ Expand("TARGET_x");TARGET0 = #$ Expand("TARGET_");#$ !Project("TMAKE_HPUX_SHLIB") && EnableOutput();#$ (Project("TMAKE_APP_FLAG") || Config("staticlib")) && EnableOutput();INTERFACE_DECL_PATH = #$ Expand("INTERFACE_DECL_PATH");####### Implicit rules.SUFFIXES: .cpp .cxx .cc .C .c.cpp.o: #$ Expand("TMAKE_RUN_CXX_IMP");.cxx.o: #$ Expand("TMAKE_RUN_CXX_IMP");.cc.o: #$ Expand("TMAKE_RUN_CXX_IMP");.C.o: #$ Expand("TMAKE_RUN_CXX_IMP");.c.o: #$ Expand("TMAKE_RUN_CC_IMP");####### Build rules#${ if ( Project("SUBLIBS") ) { $text = "SUBLIBS="; for $m ( split / /, Project("SUBLIBS") ) { $text .= "tmp/lib$m.a "; } $text .= "\n"; }#$}#$ Project("TMAKE_APP_FLAG") || DisableOutput();all: #$ ExpandGlue("ALL_DEPS",""," "," "); $text .= '$(TARGET)';$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) #$ Expand("TARGETDEPS"); $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS)#$ Project("TMAKE_APP_FLAG") || EnableOutput();#$ (Config("staticlib") || Project("TMAKE_APP_FLAG")) && DisableOutput();all: #$ ExpandGlue("ALL_DEPS",""," ",""); Expand("DESTDIR_TARGET");#$ Substitute('$$DESTDIR_TARGET: $(OBJECTS) $(OBJMOC) $(SUBLIBS) $$TARGETDEPS'); #$ Project("TMAKE_HPUX_SHLIB") && DisableOutput(); -rm -f $(TARGET) $(TARGET0) $(TARGET1) $(TARGET2) #$ Expand("TMAKE_LINK_SHLIB_CMD"); #$ ExpandGlue("TMAKE_LN_SHLIB",""," "," \$(TARGET) \$(TARGET0)"); #$ ExpandGlue("TMAKE_LN_SHLIB",""," "," \$(TARGET) \$(TARGET1)"); #$ ExpandGlue("TMAKE_LN_SHLIB",""," "," \$(TARGET) \$(TARGET2)"); #$ Project("TMAKE_HPUX_SHLIB") && EnableOutput(); #$ !Project("TMAKE_HPUX_SHLIB") && DisableOutput(); -rm -f $(TARGET) $(TARGET0) #$ Expand("TMAKE_LINK_SHLIB_CMD"); #$ ExpandGlue("TMAKE_LN_SHLIB",""," "," \$(TARGET) \$(TARGET0)"); #$ !Project("TMAKE_HPUX_SHLIB") && EnableOutput(); #${ $d = Project("DESTDIR"); if ( $d ) { $d =~ s-([^/])$-$1/-; if ( Project("TMAKE_HPUX_SHLIB") ) { $text = "-rm -f $d\$(TARGET)\n\t" . "-rm -f $d\$(TARGET0)\n\t" . "-mv \$(TARGET) \$(TARGET0) $d"; } else { $text = "-rm -f $d\$(TARGET)\n\t" . "-rm -f $d\$(TARGET0)\n\t" . "-rm -f $d\$(TARGET1)\n\t" . "-rm -f $d\$(TARGET2)\n\t" . "-mv \$(TARGET) \$(TARGET0) \$(TARGET1) \$(TARGET2) $d"; } } #$}staticlib: $(TARGETA)$(TARGETA): $(UICDECLS) $(OBJECTS) $(OBJMOC) #$ Expand("TARGETDEPS"); -rm -f $(TARGETA) #$ Expand("TMAKE_AR_CMD"); #$ ExpandGlue("TMAKE_RANLIB",""," "," \$(TARGETA)");#$ (Config("staticlib") || Project("TMAKE_APP_FLAG")) && EnableOutput();#$ Config("staticlib") || DisableOutput();all: #$ ExpandGlue("ALL_DEPS",""," "," "); $text .= '$(TARGET)';staticlib: $(TARGET)$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) #$ Expand("TARGETDEPS"); -rm -f $(TARGET) #$ Expand("TMAKE_AR_CMD"); #$ ExpandGlue("TMAKE_RANLIB",""," "," \$(TARGET)"); #${ if (Config("cygwin") && (Project("TEMPLATE") eq "app")){ print "\tmv " . Project("TARGET") . ".exe " . Project("TARGET") . "\n"; print "\tchmod a+x " . Project("TARGET") . "\n"; } #$}#$ Config("staticlib") || EnableOutput();moc: $(SRCMOC)#$ TmakeSelf();dist: #$ Substitute('$(TAR) $$PROJECT.tar $$PROJECT.pro $(SOURCES) $(HEADERS) $(INTERFACES) $(DIST)'); #$ Substitute('$(GZIP) $$PROJECT.tar');clean: -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET)#$ (Config("staticlib") || Project("TMAKE_APP_FLAG")) && DisableOutput(); -rm -f $(TARGET0) $(TARGET1) $(TARGET2) $(TARGETA)#$ (Config("staticlib") || Project("TMAKE_APP_FLAG")) && EnableOutput(); #$ ExpandGlue("TMAKE_CLEAN","-rm -f "," ",""); -rm -f *~ core #$ ExpandGlue("CLEAN_FILES","-rm -f "," ","");####### Sub-libraries#${ if ( Project("SUBLIBS") ) { for $m ( split / /, Project("SUBLIBS") ) { $text .= "tmp/lib$m.a:\n\t"; $text .= $project{"MAKELIB$m"}."\n"; } }#$}###### Combined headers#${ if ( Config("embedded") && Project("PRECOMPH") ) { $t = "allmoc.cpp: ".Project("PRECOMPH")." ".$original_HEADERS; ExpandList("HEADERS_ORIG"); $t.= $text; $t.= "\n\techo '#include \"".Project("PRECOMPH")."\"' >allmoc.cpp"; $t.= "\n\t\$(CXX) -E -DQT_MOC_CPP \$(CXXFLAGS) \$(INCPATH) >allmoc.h allmoc.cpp"; $t.= "\n\t\$(MOC) -o allmoc.cpp allmoc.h"; $t.= "\n\tperl -pi -e 's{\"allmoc.h\"}{\"".Project("PRECOMPH")."\"}' allmoc.cpp"; $t.= "\n\trm allmoc.h"; $t.= "\n"; $text = $t; }#$}####### Compile#$ BuildObj(Project("OBJECTS"),Project("SOURCES"));#$ BuildUicSrc(Project("INTERFACES"));#$ BuildObj(Project("UICOBJECTS"), Project("UICIMPLS"));#$ BuildMocObj(Project("OBJMOC"),Project("SRCMOC"));#$ BuildMocSrc(Project("HEADERS"));#$ BuildMocSrc(Project("SOURCES"));#$ BuildMocSrc( Project("UICDECLS"));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -