#!nmake # # The contents of this file are subject to the Netscape Public # License Version 1.1 (the "License"); you may not use this file # except in compliance with the License. You may obtain a copy of # the License at http://www.mozilla.org/NPL/ # # Software distributed under the License is distributed on an "AS # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or # implied. See the License for the specific language governing # rights and limitations under the License. # # The Original Code is mozilla.org code. # # The Initial Developer of the Original Code is Netscape # Communications Corporation. Portions created by Netscape are # Copyright (C) 1998 Netscape Communications Corporation. All # Rights Reserved. # # Contributor(s): DEPTH=..\.. MODULE = apprunner REQUIRES = xpcom \ string \ webBrowser_core \ widget \ dom \ necko \ pref \ appshell \ chrome \ xpinstall \ xpicleanup \ uriloader \ windowwatcher \ embed_base \ appstartup \ mpfilelocprovider \ mozbrwsr \ appcomps \ docshell \ gfx \ intl \ uconv \ locale \ profile \ xpconnect \ $(NULL) include <$(DEPTH)/config/config.mak> DEFINES=-DWIN32_LEAN_AND_MEAN !if defined(MOZ_STATIC_COMPONENT_LIBS) && !defined(MOZ_GECKO_DLL) DEFINES=$(DEFINES) -D_BUILD_STATIC_BIN EXTRA_LIBS_LIST_FILE=$(OBJDIR)\libs.txt SEDCMDS=nsStaticComonents.cpp.sed GARBAGE=$(GARBAGE) $(EXTRA_LIBS_LIST_FILE) $(SEDCMDS) nsStaticComponents.cpp !endif CPP_OBJS= \ .\$(OBJDIR)\nsAppRunner.obj \ .\$(OBJDIR)\nsWindowCreator.obj \ .\$(OBJDIR)\nsNativeAppSupportBase.obj \ .\$(OBJDIR)\nsNativeAppSupportWin.obj \ .\$(OBJDIR)\showOSAlert.obj \ !if defined(MOZ_STATIC_COMPONENT_LIBS) && !defined(MOZ_GECKO_DLL) .\$(OBJDIR)\nsStaticComponents.obj \ !endif $(NULL) MAKE_OBJ_TYPE = EXE PROGRAM = .\$(OBJDIR)\mozilla.exe RESFILE = splash.res LCFLAGS = \ $(LCFLAGS) \ $(DEFINES) \ $(NULL) RCFLAGS = \ $(RCFLAGS) \ -I $(XPDIST)\include\appshell # This code removes the console from release builds # (unless you've set MOZ_WINCONSOLE=1). !ifndef MOZ_WINCONSOLE !ifdef MOZ_DEBUG MOZ_WINCONSOLE=1 !else MOZ_WINCONSOLE=0 !endif !endif # Set subsystem type according to whether we want a console. !if $(MOZ_WINCONSOLE) LFLAGS= $(LFLAGS) /subsystem:console !else LFLAGS= $(LFLAGS) /subsystem:windows !endif # # Control the default heap size. # This is the heap returned by GetProcessHeap(). # As we use the CRT heap, the default size is too large and wastes VM. # # The default heap size is 1MB on Win32. # The heap will grow if need be. # # Set it to 256k. See bug 127069. # LLFLAGS=$(LLFLAGS) /HEAP:0x40000 # These are the libraries we need to link with to create the exe LLIBS= \ $(DIST)\lib\xpcom.lib \ !ifndef DISABLE_LDAP $(DIST)\lib\nsldap32v50.lib \ $(DIST)\lib\nsldappr32v50.lib \ !endif $(DIST)\lib\js3250.lib \ $(DIST)\lib\util.lib \ $(DIST)\lib\gkgfx.lib \ $(DIST)\lib\expat.lib \ $(DIST)\lib\png.lib \ $(DIST)\lib\mng.lib \ $(DIST)\lib\mpfilelocprovider_s.lib \ !ifdef GC_LEAK_DETECTOR $(DIST)\lib\boehm.lib \ !endif $(LIBNSPR) \ $(NULL) WIN_LIBS= \ comctl32.lib \ comdlg32.lib \ Uuid.lib \ shell32.lib \ ole32.lib \ oleaut32.lib \ version.lib \ winspool.lib \ $(NULL) include <$(DEPTH)\config\rules.mak> !if defined(MOZ_STATIC_COMPONENT_LIBS) && !defined(MOZ_GECKO_DLL) $(SEDCMDS): $(FINAL_LINK_COMP_NAMES) rm -f $@ echo s/%DECL_NSGETMODULES%/\>> $@ sed -e "s/^/DECL_NSGETMODULE(/" -e "s/$$/)\\\/" $(FINAL_LINK_COMP_NAMES) >> $@ echo />> $@ echo s/%MODULE_LIST%/\>> $@ sed -e "s/^/MODULE(/" -e "s/$$/),\\\/" $(FINAL_LINK_COMP_NAMES) >> $@ echo />> $@ nsStaticComponents.cpp: nsStaticComponents.cpp.in $(FINAL_LINK_COMP_NAMES) $(SEDCMDS) echo +++ make: Creating $@ rm -f $@ sed -f $(SEDCMDS) nsStaticComponents.cpp.in > $@ rm -f $(SEDCMDS) $(EXTRA_LIBS_LIST_FILE): $(FINAL_LINK_COMPS) $(FINAL_LINK_LIBS) echo +++ make: Creating list of link libraries: $@ rm -f $@ sed -e "s/^/$(DIST:\=\\\)\\\lib\\\/" -e "s/$$/.lib/" $(FINAL_LINK_COMPS) > $@ sed -e "s/^/$(DIST:\=\\\)\\\lib\\\/" -e "s/$$/.lib/" $(FINAL_LINK_LIBS) >> $@ !endif libs:: $(PROGRAM) $(MAKE_INSTALL) $(PROGRAM) $(DIST)\bin clobber:: rm -f $(DIST)\bin\mozilla.exe