# HG changeset patch # User sr # Date 1507639445 -7200 # Node ID 201b21e2f07c684d610d5b1c9468e6ff0b145887 # Parent 0e40ddb14043f3ff625ef76dd904f1aa8048e51e initial checkin diff -r 0e40ddb14043 -r 201b21e2f07c quickSelfTest/bc.mak --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quickSelfTest/bc.mak Tue Oct 10 14:44:05 2017 +0200 @@ -0,0 +1,429 @@ +# $Header$ +# +# DO NOT EDIT +# automagically generated from the projectDefinition: stx_goodies_builder_quickSelfTest. +# +# Warning: once you modify this file, do not rerun +# stmkmp or projectDefinition-build again - otherwise, your changes are lost. +# +# Historic Note: +# this used to contain only rules to make with borland +# (called via bmake, by "make.exe -f bc.mak") +# this has changed; it is now also possible to build using microsoft visual c +# (called via vcmake, by "make.exe -f bc.mak -DUSEVC") +# +# Rules found here: +# bmake +# - build everything, incl. a self installing exe for deployment +# bmake exe +# - only build the executable; to be executed and tested here +# bmake setup +# - make the self installing exe (assuming that the exe is already present) +# bmake clean +# - remove everything that is not needed to execute +# bmake clobber +# - remove everything that cannot be reconstructed by bmake +# +# For a 64bit build, replace bmake by mingwmake. + +TOP=..\..\.. +INCLUDE_TOP=$(TOP)\.. + +# An old file, used as a dummy target for FORCE if we do not want +# re-make libraries. Windows make does not work if we redefine FORCE= (empty string) +# OLD_FILE=bmake.bat +OLD_FILE="c:\windows\win.ini" + +#dummy target to force a build +!ifndef FORCE +FORCE=$(OLD_FILE) +!endif + +CFLAGS_LOCAL=$(CFLAGS_APPTYPE) \ + -DSTARTUP_CLASS="\"RunUnitTestsStart\"" \ + -DSTARTUP_SELECTOR="\"start\"" \ + -DUSE_MODULE_TABLE + +# + +!INCLUDE $(TOP)\rules\stdHeader_bc +!INCLUDE Make.spec + +OBJS= $(COMMON_OBJS) $(WIN32_OBJS) + + + +# +APPNAME=libstx_goodies_builder_quickSelfTest +LIBNAME=libstx_goodies_builder_quickSelfTest +MODULE_PATH=goodies\builder\quickSelfTest +STCOPT="+optinline" +LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\goodies\sunit -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libcomp +LOCALDEFINES= +GLOBALDEFINES= + +STCLOCALOPT='-package=$(PACKAGE)' $(LOCALDEFINES) $(LOCALINCLUDES) $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) $(COMMONSYMFLAG) -varPrefix=$(LIBNAME) + +LFLAGS=$(APP_LFLAGS) + +PROJECT_NOCONSOLE= quickSelfTest.exe +PROJECT_CONSOLE= quickSelfTest.com +ALLOBJFILES= main.$(O) +!ifdef USETCC +RESFILES= +!else +RESFILES= stx_goodies_builder_quickSelfTestWINrc.$(RES) +!endif + +ALLOBJ= $(ALLOBJFILES) $(OBJS) +DEFFILE=$(TOP)\rules\bc_exe.def + +LIBFILES=$(LIBDIR_LIBRUN)\librun.lib +ALLLIB=$(LIBFILES) $(APP_IMPORTLIBS) $(APP_RT_LIB) + +REQUIRED_LIBS=librun.dll \ + libstx_libbasic.dll \ + libstx_libbasic2.dll \ + libstx_libcomp.dll \ + libstx_libview.dll \ + libstx_libui.dll \ + libstx_libview2.dll \ + libstx_goodies_sunit.dll \ + + +REQUIRED_FILES=$(RT_DLL) $(X11_DLL) $(XEXT_DLL) symbols.stc $(REQUIRED_LIBS) + +SUBPROJECT_LIBS= + + +REQUIRED_SUPPORT_DIRS=RESOURCEFILES + +target: ALL postBuildCleanup + +# the executable, all required files and a self-installing-installer-exe +ALL:: prereq ALL_NP + +# all, but no prereqs +ALL_NP:: exe $(REQUIRED_SUPPORT_DIRS) postBuildCleanup subProjects setup + +exe: newBuildDate $(REQUIRED_LIBS) noConsoleApp consoleApp registerApplication + +# the executable only +# with console +consoleApp: $(REQUIRED_LIBS) + -del main.$(O) + $(MAKE) -N -f bc.mak $(USE_ARG) \ + MAKE_BAT=$(MAKE_BAT) \ + PROJECT=$(PROJECT_CONSOLE) \ + CFLAGS_APPTYPE=" -DWIN32GUI $(CFLAGS_CONSOLE)" \ + LFLAGS_APPTYPE=" $(LFLAGS_CONSOLE)" \ + CRT_STARTUP=" $(CRT_STARTUP_CONSOLE)" theExe + +# without console +noConsoleApp: $(REQUIRED_LIBS) + -del main.$(O) + $(MAKE) -N -f bc.mak $(USE_ARG) \ + MAKE_BAT=$(MAKE_BAT) \ + PROJECT=$(PROJECT_NOCONSOLE) \ + CFLAGS_APPTYPE=" -DWIN32GUI $(CFLAGS_NOCONSOLE) -DWIN_LOGFILE="\\"\"quickSelfTest.log\\"\""" \ + LFLAGS_APPTYPE=" $(LFLAGS_NOCONSOLE)" \ + CRT_STARTUP=" $(CRT_STARTUP_NOCONSOLE)" theExe + +# the executable only (internal target; needs some defines) +theExe: $(OUTDIR) $(OBJS) $(REQUIRED_FILES) show $(PROJECT) + +# build all mandatory prerequisite packages (containing superclasses) for this package +prereq: + $(MAKE) -N -f bc.mak $(USE_ARG) FORCE=FORCE_BUILD makePrereq + +makePrereq: $(REQUIRED_LIBS) + +subProjects: + $(MAKE) -N -f bc.mak $(USE_ARG) FORCE=FORCE_BUILD makeSubProjects + +makeSubProjects: $(SUBPROJECT_LIBS) + +FORCE_BUILD: + @rem Dummy target to force a build + +# a nullsoft installable delivery +# This uses the Nullsoft Installer Package and works in Windows only + +!if defined(USEMINGW64) + +setup: $(PROJECT) postBuildCleanup quickSelfTest.nsi + $(MAKENSIS) /DOBJ_DIR=objmingw /DSETUP_NAME=Smalltalk_XSetup64 quickSelfTest.nsi + + +!else + +setup: $(PROJECT) postBuildCleanup quickSelfTest.nsi + $(MAKENSIS) /DOBJ_DIR=objbc /DSETUP_NAME=Smalltalk_XSetup quickSelfTest.nsi + + +!endif + +newBuildDate: + del buildDate.h + +new: + $(MAKE_BAT) clean + $(MAKE_BAT) + +RESOURCEFILES: quickSelfTest_RESOURCES quickSelfTest_BITMAPS \ + stx_RESOURCES stx_STYLES stx_BITMAPS + + +quickSelfTest_RESOURCES: + -mkdir resources\stx\goodies\builder\quickSelfTest + -copy ..\resources\*.rs resources\stx\goodies\builder\quickSelfTest\.. + -copy ..\resources\*.style resources\stx\goodies\builder\quickSelfTest\.. + +quickSelfTest_BITMAPS: + -mkdir resources\stx\goodies\builder\quickSelfTest\bitmaps + -copy *.ico resources\stx\goodies\builder\quickSelfTest\bitmaps + -copy *.gif resources\stx\goodies\builder\quickSelfTest\bitmaps + + + +stx_RESOURCES: \ + host.rc \ + libbasic_RESOURCES \ + + +keyboard.rc: $(TOP)\projects\smalltalk\keyboard.rc + copy $(TOP)\projects\smalltalk\keyboard.rc *.* + +keyboardMacros.rc: $(TOP)\projects\smalltalk\keyboardMacros.rc + copy $(TOP)\projects\smalltalk\keyboardMacros.rc *.* + +host.rc: $(TOP)\projects\smalltalk\host.rc + copy $(TOP)\projects\smalltalk\host.rc *.* + +h_win32.rc: $(TOP)\projects\smalltalk\h_win32.rc + copy $(TOP)\projects\smalltalk\h_win32.rc *.* + +display.rc: $(TOP)\projects\smalltalk\display.rc + copy $(TOP)\projects\smalltalk\display.rc *.* + +d_win32.rc: $(TOP)\projects\smalltalk\d_win32.rc + copy $(TOP)\projects\smalltalk\d_win32.rc *.* + +stx_STYLES: + -mkdir resources\stx\libview\styles + -copy $(TOP)\libview\styles\*.style resources\stx\libview\styles\*.* + -copy $(TOP)\libview\styles\*.common resources\stx\libview\styles\*.* + +stx_BITMAPS: \ + libwidg_BITMAPS + +libwidg_BITMAPS: + -mkdir resources\stx\libwidg\bitmaps + -copy $(TOP)\libwidg\bitmaps\*.xpm resources\stx\libwidg\bitmaps\*.* + +libbasic_RESOURCES: + -mkdir resources\stx\libbasic + -copy $(TOP)\libbasic\resources\*.rs resources\stx\libbasic\*.* + +libtool_RESOURCES: + -mkdir resources\stx\libtool + -copy $(TOP)\libtool\resources\*.rs resources\stx\libtool\*.* + +libtool2_RESOURCES: + -mkdir resources\stx\libtool2 + -copy $(TOP)\libtool2\resources\*.rs resources\stx\libtool2\*.* + +libview_RESOURCES: + -mkdir resources\stx\libview + -copy $(TOP)\libview\resources\*.rs resources\stx\libview\*.* + +libview2_RESOURCES: + -mkdir resources\stx\libview2 + -copy $(TOP)\libview2\resources\*.rs resources\stx\libview2\*.* + + + + + + +libstx_libbasic.dll: ..\..\..\libbasic\$(OBJDIR)\libstx_libbasic.dll + copy ..\..\..\libbasic\$(OBJDIR)\libstx_libbasic.dll *.* + +..\..\..\libbasic\$(OBJDIR)\libstx_libbasic.dll: $(FORCE) + pushd ..\..\..\libbasic & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " + +libstx_libbasic2.dll: ..\..\..\libbasic2\$(OBJDIR)\libstx_libbasic2.dll + copy ..\..\..\libbasic2\$(OBJDIR)\libstx_libbasic2.dll *.* + +..\..\..\libbasic2\$(OBJDIR)\libstx_libbasic2.dll: $(FORCE) + pushd ..\..\..\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " + +libstx_libcomp.dll: ..\..\..\libcomp\$(OBJDIR)\libstx_libcomp.dll + copy ..\..\..\libcomp\$(OBJDIR)\libstx_libcomp.dll *.* + +..\..\..\libcomp\$(OBJDIR)\libstx_libcomp.dll: $(FORCE) + pushd ..\..\..\libcomp & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " + +libstx_libview.dll: ..\..\..\libview\$(OBJDIR)\libstx_libview.dll + copy ..\..\..\libview\$(OBJDIR)\libstx_libview.dll *.* + +..\..\..\libview\$(OBJDIR)\libstx_libview.dll: $(FORCE) + pushd ..\..\..\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " + +libstx_libui.dll: ..\..\..\libui\$(OBJDIR)\libstx_libui.dll + copy ..\..\..\libui\$(OBJDIR)\libstx_libui.dll *.* + +..\..\..\libui\$(OBJDIR)\libstx_libui.dll: $(FORCE) + pushd ..\..\..\libui & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " + +libstx_libview2.dll: ..\..\..\libview2\$(OBJDIR)\libstx_libview2.dll + copy ..\..\..\libview2\$(OBJDIR)\libstx_libview2.dll *.* + +..\..\..\libview2\$(OBJDIR)\libstx_libview2.dll: $(FORCE) + pushd ..\..\..\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " + +libstx_goodies_sunit.dll: ..\..\sunit\$(OBJDIR)\libstx_goodies_sunit.dll + copy ..\..\sunit\$(OBJDIR)\libstx_goodies_sunit.dll *.* + +..\..\sunit\$(OBJDIR)\libstx_goodies_sunit.dll: $(FORCE) + pushd ..\..\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " + + + + +show: + @echo LFLAGS= $(LFLAGS) + @echo ALLOBJ= $(ALLOBJ) + @echo PROJECT= $(PROJECT) + @echo APP_IMPORTLIBS= $(APP_IMPORTLIBS) + @echo ALLLIB= $(ALLLIB) + @echo DEFFILE= $(DEFFILE) + @echo ALLRES= $(ALLRES) + +!ifdef USEBC + +$(PROJECT_CONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES) + $(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ), $(PROJECT_CONSOLE),, $(ALLLIB), $(DEFFILE), $(RESFILES) + +$(PROJECT_NOCONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES) + $(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ), $(PROJECT_NOCONSOLE),, $(ALLLIB), $(DEFFILE), $(RESFILES) + +!else +! ifdef USEVC + +$(PROJECT_CONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES) + $(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) /OUT:"$(PROJECT_CONSOLE)" \ + /MANIFEST /MANIFESTFILE:"$(PROJECT_CONSOLE).manifest" \ + /PDB:"$(PROJECT_CONSOLE).pdb" \ + /SUBSYSTEM:CONSOLE $(ALLLIB) $(RESFILES) + +$(PROJECT_NOCONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES) + $(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) /OUT:"$(PROJECT_NOCONSOLE)" \ + /MANIFEST /MANIFESTFILE:"$(PROJECT_NOCONSOLE).manifest" \ + /PDB:"$(PROJECT_NOCONSOLE).pdb" \ + /SUBSYSTEM:WINDOWS $(ALLLIB) $(RESFILES) + +! else +! ifdef USELCC + +$(PROJECT_CONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES) + $(APP_LINKER) -subsystem console $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) -o "$(PROJECT_CONSOLE)" $(ALLLIB) $(RESFILES) + +$(PROJECT_NOCONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES) + $(APP_LINKER) -subsystem windows $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) -o "$(PROJECT_NOCONSOLE)" $(ALLLIB) $(RESFILES) + +! else +! ifdef USETCC + +$(PROJECT_CONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES) + $(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) -o "$(PROJECT_CONSOLE)" $(ALLLIB) $(RESFILES) + +$(PROJECT_NOCONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES) + $(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) -o "$(PROJECT_NOCONSOLE)" $(ALLLIB) $(RESFILES) + +! else +! if defined(USEMINGW32) || defined(USEMINGW64) + +$(PROJECT_CONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES) show + $(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) -o "$(PROJECT_CONSOLE)" $(ALLLIB) $(RESFILES) + +$(PROJECT_NOCONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES) show + $(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) -o "$(PROJECT_NOCONSOLE)" $(ALLLIB) $(APP_IMPORTLIBS) $(RESFILES) + +! else +error error error +! endif +! endif +! endif +! endif +!endif + +!INCLUDE $(TOP)\rules\stdRules_bc + +# +# additional rules +# +quickSelfTestWin.$(RES): quickSelfTestWin.rc quickSelfTest.ico + +main.$(O): buildDate.h main.c bc.mak + +main.c: $(TOP)\librun\main.c + copy $(TOP)\librun\main.c main.c + +# now in stdRules. +#buildDate.h: $(GENDATE_UTILITIY) +# $(GENDATE_UTILITIY) + +librun.dll: $(TOP)\librun\$(OBJDIR_LIBRUN)\librun.dll + copy $(TOP)\librun\$(OBJDIR_LIBRUN)\librun.dll librun.dll + +!ifndef USEMINGW32 +!ifndef USEMINGW64 +#cs3245.dll +$(RT_DLL): $(TOP)\support\win32\borland\$(RT_DLL) + copy $(TOP)\support\win32\borland\$(RT_DLL) $(RT_DLL) + +X11.dll: $(TOP)\support\win32\X11.dll + copy $(TOP)\support\win32\X11.dll X11.dll + +Xext.dll: $(TOP)\support\win32\Xext.dll + copy $(TOP)\support\win32\Xext.dll Xext.dll +!endif +!endif + +symbols.stc: $(TOP)\include\symbols.stc + copy $(TOP)\include\symbols.stc symbols.stc + + + + + +clean:: + -del genDate.exe genDate.com + -del c0x32.dll + -del c0x32.lib + -del buildDate.h + -del $(PROJECT) + -del install_quickSelfTest.exe + -del stx.lib + -del stx.dll + -del $(RT_DLL) + -del $(REQUIRED_FILES) + -del main.c + -del *.log + -del *.$(RES) + -rmdir /S /Q resources + -rmdir /S /Q $(OBJDIR) + +clobber:: clean + -del *.dll *.exe *.com + +postBuildCleanup:: + @rem stupid win-make does not allow empty + +# BEGINMAKEDEPEND --- do not remove this line; make depend needs it +$(OUTDIR)RunUnitTests.$(O) RunUnitTests.$(C) RunUnitTests.$(H): RunUnitTests.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) +$(OUTDIR)RunUnitTestsStart.$(O) RunUnitTestsStart.$(C) RunUnitTestsStart.$(H): RunUnitTestsStart.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\StandaloneStartup.$(H) $(STCHDR) +$(OUTDIR)stx_goodies_builder_quickSelfTest.$(O) stx_goodies_builder_quickSelfTest.$(C) stx_goodies_builder_quickSelfTest.$(H): stx_goodies_builder_quickSelfTest.st $(INCLUDE_TOP)\stx\libbasic\ApplicationDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR) + +# ENDMAKEDEPEND --- do not remove this line