bc.mak
author Claus Gittinger <cg@exept.de>
Mon, 01 Dec 2008 20:11:08 +0100
changeset 965 bfb3430d1c36
parent 912 77616cad7e89
child 985 20623c76379a
permissions -rw-r--r--
automatically generated by browser

# $Header$
#
# DO NOT EDIT 
# automagically generated from the projectDefinition: stx_projects_smalltalk.
#
# Warning: once you modify this file, do not rerun
# stmkmp or projectDefinition-build again - otherwise, your changes are lost.
#

TOP=..\..       
INCLUDE_TOP=$(TOP)\..

# CFLAGS1= -WD -w-pro -w-ccc -w-rch -w-aus -w-par -x- -r- -k -y -v -vi- -c -tWDR
CFLAGS1= -w-pro -w-ccc -w-rch -w-aus -w-par -x- -r- -k -y -v -vi- -c

CFLAGS_CONSOLE=-tWC -tWR -D_NO_VCL;WIN32
CFLAGS_NOCONSOLE=-tWR -D_NO_VCL;WIN32GUI;WIN32
LFLAGS_CONSOLE=-ap
LFLAGS_NOCONSOLE=-aa
CRT_STARTUP_CONSOLE=c0x32.obj
CRT_STARTUP_NOCONSOLE=c0w32.obj

# notice: the following 3 are now defined via the make-stx and make-winstx rules.
#
# CFLAGS_APPTYPE=$(CFLAGS_CONSOLE)
# LFLAGS_APPTYPE=$(LFLAGS_CONSOLE)
# CRT_STARTUP=$(CRT_STARTUP_CONSOLE)

CFLAGS_LOCAL=$(CFLAGS_APPTYPE) \
 -DSTARTUP_CLASS="\"Smalltalk\"" \
 -DSTARTUP_SELECTOR="\"start\"" \
 -DUSE_MODULE_TABLE

#

!INCLUDE $(TOP)\rules\stdHeader_bc
!INCLUDE Make.spec

OBJS= $(COMMON_OBJS) $(WIN32_OBJS)



#
LIBNAME=dummy
STCOPT="+optinline"
LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\libbasic
LOCALDEFINES=
GLOBALDEFINES=

STCLOCALOPT='-package=$(PACKAGE)' $(LOCALDEFINES) $(LOCALINCLUDES)  $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) $(COMMONSYMFLAG) -varPrefix=$(LIBNAME)

LINKER = ilink32

# LFLAGS = -L$(TOP)\libbc;$(BCB)\lib;$(DEBUGLIBPATH) -H:0x400000 -Hc:0x100000 -S:0x40000 -Sc:0x10000 -ap -Tpe -x -Gn -v -Ao:0x10000
LFLAGS = -L$(TOP)\libbc;$(BCB)\lib -S:0x40000 -Sc:0x10000 $(LFLAGS_APPTYPE) -Tpe -x -Gn -v -Ao:0x10000

PROJECT_CONSOLE = stx.exe
PROJECT_NOCONSOLE = winstx.exe
ALLOBJFILES = main.obj
RESFILES = smalltalkWinRC.res
ALLOBJ = $(CRT_STARTUP) $(ALLOBJFILES) $(OBJS)
DEFFILE=$(TOP)\rules\bc_exe.def

LIBFILES=$(TOP)\libbc\librun.lib
ALLLIB=$(LIBFILES) import32.lib $(RT_LIB)

REQUIRED_LIBS=librun.dll  \
 libstx_libbasic.dll \
 libstx_libbasic2.dll \
 libstx_libbasic3.dll \
 libstx_libcomp.dll \
 libstx_libhtml.dll \
 libstx_libtool.dll \
 libstx_libtool2.dll \
 libstx_libui.dll \
 libstx_libview.dll \
 libstx_libview2.dll \
 libstx_libwidg.dll \
 libstx_libwidg2.dll \
 libstx_libwidg3.dll \
 libstx_goodies_refactoryBrowser_helpers.dll \
 libstx_goodies_refactoryBrowser_parser.dll \
 libstx_goodies_refactoryBrowser_refactoring.dll \
 libstx_goodies_refactoryBrowser_changes.dll \
 libstx_libboss.dll \


REQUIRED_FILES=cs3245.dll symbols.stc $(REQUIRED_LIBS)

REQUIRED_SUPPORT_DIRS=RESOURCEFILES

target: exe 

# the executable, all required files and a self-installing-installer-exe
ALL:: exe setup

exe:  newBuildDate stx winstx

# the executable only
# with console
stx:
	-del main.obj
	$(MAKE) -N -f bc.mak \
		PROJECT=$(PROJECT_CONSOLE) \
		CFLAGS_APPTYPE="$(CFLAGS_CONSOLE)" \
		LFLAGS_APPTYPE="$(LFLAGS_CONSOLE)" \
		CRT_STARTUP="$(CRT_STARTUP_CONSOLE)" theExe

# without console
winstx:
	-del main.obj
	$(MAKE) -N -f bc.mak \
		PROJECT=$(PROJECT_NOCONSOLE) \
		CFLAGS_APPTYPE="$(CFLAGS_NOCONSOLE) -DWIN_LOGFILE="\\"\"winstx.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 prerequisite packages for this package
prereq:
	pushd ..\..\libbasic
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	popd
	pushd ..\libbasic2
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	popd
	pushd ..\libcomp
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	popd
	pushd ..\goodies\refactoryBrowser\helpers
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	popd
	pushd ..\parser
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	popd
	pushd ..\..\..\libboss
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	popd
	pushd ..\libbasic3
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	popd
	pushd ..\libview
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	popd
	pushd ..\goodies\refactoryBrowser\changes
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	popd
	pushd ..\..\..\libview2
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	popd
	pushd ..\libui
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	popd
	pushd ..\libwidg
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	popd
	pushd ..\libhtml
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	popd
	pushd ..\libwidg2
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	popd
	pushd ..\libwidg3
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	popd
	pushd ..\libtool
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	popd
	pushd ..\libtool2
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	popd
	pushd ..\goodies\refactoryBrowser\refactoring
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	popd
	pushd ..\..\..\librun
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	popd
	cd ..\projects\smalltalk


# a nullsoft installable delivery
setup: $(REQUIRED_SUPPORT_DIRS) install_smalltalk.exe

newBuildDate:
    del buildDate.h

# This uses the Nullsoft Installer Package and works in Windows only

install_smalltalk.exe: $(PROJECT) smalltalk.nsi
	$(MAKENSIS) smalltalk.nsi

new:
	bmake clean
	bmake

RESOURCEFILES: smalltalk_RESOURCES smalltalk_BITMAPS \
	stx_RESOURCES stx_STYLES stx_BITMAPS


smalltalk_RESOURCES: resources\stx\projects\smalltalk\NUL
	-copy ..\resources\*.rs resources\stx\projects\smalltalk\..
	-copy ..\resources\*.style resources\stx\projects\smalltalk\..

smalltalk_BITMAPS: resources\stx\projects\smalltalk\bitmaps\NUL
	-copy *.ico resources\stx\projects\smalltalk\bitmaps
	-copy *.gif resources\stx\projects\smalltalk\bitmaps

resources\stx\projects\smalltalk\bitmaps\NUL: resources\stx\projects\smalltalk\NUL
	mkdir resources\stx\projects\smalltalk\bitmaps

resources\stx\projects\smalltalk\NUL: resources\stx\projects\NUL
	mkdir resources\stx\projects\smalltalk

resources\stx\projects\NUL: resources\stx\NUL
	mkdir resources\stx\projects



stx_RESOURCES: \
	keyboard.rc \
	display.rc \
	d_win32.rc \
	libbasic_RESOURCES \
	libview_RESOURCES \
	libtool_RESOURCES  \
	libtool2_RESOURCES

keyboard.rc: $(TOP)\projects\smalltalk\keyboard.rc
	copy $(TOP)\projects\smalltalk\keyboard.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: resources\stx\libview\NUL
	copy $(TOP)\libview\styles\mswindowsXP* resources\stx\libview\*.*
	copy $(TOP)\libview\styles\mswindows*.common resources\stx\libview\*.*

stx_BITMAPS: \
	libwidg_BITMAPS

libwidg_BITMAPS: resources\stx\libwidg\bitmaps\NUL
	copy $(TOP)\libwidg\bitmaps\*.xpm resources\stx\libwidg\bitmaps\*.*

libbasic_RESOURCES: resources\stx\libbasic\NUL
	copy $(TOP)\libbasic\resources\*.rs resources\stx\libbasic\*.*

libtool_RESOURCES: resources\stx\libtool\NUL
	copy $(TOP)\libtool\resources\*.rs resources\stx\libtool\*.*

libtool2_RESOURCES: resources\stx\libtool2\NUL
	copy $(TOP)\libtool2\resources\*.rs resources\stx\libtool2\*.*

libview_RESOURCES: resources\stx\libview\NUL
	copy $(TOP)\libview\resources\*.rs resources\stx\libview\*.*

libview2_RESOURCES: resources\stx\libview2\NUL
	copy $(TOP)\libview2\resources\*.rs resources\stx\libview2\*.*

resources\stx\libbasic\NUL: resources\stx\NUL
	mkdir resources\stx\libbasic

resources\stx\libtool\NUL: resources\stx\NUL
	mkdir resources\stx\libtool

resources\stx\libtool2\NUL: resources\stx\NUL
	mkdir resources\stx\libtool2

resources\stx\libview\NUL: resources\stx\NUL
	mkdir resources\stx\libview

resources\stx\libview2\NUL: resources\stx\NUL
	mkdir resources\stx\libview2

resources\stx\libwidg\bitmaps\NUL: resources\stx\libwidg\NUL
	mkdir resources\stx\libwidg\bitmaps

resources\stx\libwidg\NUL: resources\stx\NUL
	mkdir resources\stx\libwidg

resources\stx\NUL: resources\NUL
	mkdir resources\stx

resources\NUL:
	mkdir resources

bitmaps\NUL:
	mkdir bitmaps

doc\NUL:
	mkdir doc






libstx_libbasic.dll: ..\..\libbasic\objbc\libstx_libbasic.dll
	copy ..\..\libbasic\objbc\libstx_libbasic.dll *.*

..\..\libbasic\objbc\libstx_libbasic.dll:
	cd ..\..\libbasic
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	cd ..\projects\smalltalk

libstx_libbasic2.dll: ..\..\libbasic2\objbc\libstx_libbasic2.dll
	copy ..\..\libbasic2\objbc\libstx_libbasic2.dll *.*

..\..\libbasic2\objbc\libstx_libbasic2.dll:
	cd ..\..\libbasic2
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	cd ..\projects\smalltalk

libstx_libcomp.dll: ..\..\libcomp\objbc\libstx_libcomp.dll
	copy ..\..\libcomp\objbc\libstx_libcomp.dll *.*

..\..\libcomp\objbc\libstx_libcomp.dll:
	cd ..\..\libcomp
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	cd ..\projects\smalltalk

libstx_goodies_refactoryBrowser_helpers.dll: ..\..\goodies\refactoryBrowser\helpers\objbc\libstx_goodies_refactoryBrowser_helpers.dll
	copy ..\..\goodies\refactoryBrowser\helpers\objbc\libstx_goodies_refactoryBrowser_helpers.dll *.*

..\..\goodies\refactoryBrowser\helpers\objbc\libstx_goodies_refactoryBrowser_helpers.dll:
	cd ..\..\goodies\refactoryBrowser\helpers
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	cd ..\..\..\projects\smalltalk

libstx_goodies_refactoryBrowser_parser.dll: ..\..\goodies\refactoryBrowser\parser\objbc\libstx_goodies_refactoryBrowser_parser.dll
	copy ..\..\goodies\refactoryBrowser\parser\objbc\libstx_goodies_refactoryBrowser_parser.dll *.*

..\..\goodies\refactoryBrowser\parser\objbc\libstx_goodies_refactoryBrowser_parser.dll:
	cd ..\..\goodies\refactoryBrowser\parser
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	cd ..\..\..\projects\smalltalk

libstx_libboss.dll: ..\..\libboss\objbc\libstx_libboss.dll
	copy ..\..\libboss\objbc\libstx_libboss.dll *.*

..\..\libboss\objbc\libstx_libboss.dll:
	cd ..\..\libboss
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	cd ..\projects\smalltalk

libstx_libbasic3.dll: ..\..\libbasic3\objbc\libstx_libbasic3.dll
	copy ..\..\libbasic3\objbc\libstx_libbasic3.dll *.*

..\..\libbasic3\objbc\libstx_libbasic3.dll:
	cd ..\..\libbasic3
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	cd ..\projects\smalltalk

libstx_libview.dll: ..\..\libview\objbc\libstx_libview.dll
	copy ..\..\libview\objbc\libstx_libview.dll *.*

..\..\libview\objbc\libstx_libview.dll:
	cd ..\..\libview
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	cd ..\projects\smalltalk

libstx_goodies_refactoryBrowser_changes.dll: ..\..\goodies\refactoryBrowser\changes\objbc\libstx_goodies_refactoryBrowser_changes.dll
	copy ..\..\goodies\refactoryBrowser\changes\objbc\libstx_goodies_refactoryBrowser_changes.dll *.*

..\..\goodies\refactoryBrowser\changes\objbc\libstx_goodies_refactoryBrowser_changes.dll:
	cd ..\..\goodies\refactoryBrowser\changes
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	cd ..\..\..\projects\smalltalk

libstx_libview2.dll: ..\..\libview2\objbc\libstx_libview2.dll
	copy ..\..\libview2\objbc\libstx_libview2.dll *.*

..\..\libview2\objbc\libstx_libview2.dll:
	cd ..\..\libview2
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	cd ..\projects\smalltalk

libstx_libui.dll: ..\..\libui\objbc\libstx_libui.dll
	copy ..\..\libui\objbc\libstx_libui.dll *.*

..\..\libui\objbc\libstx_libui.dll:
	cd ..\..\libui
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	cd ..\projects\smalltalk

libstx_libwidg.dll: ..\..\libwidg\objbc\libstx_libwidg.dll
	copy ..\..\libwidg\objbc\libstx_libwidg.dll *.*

..\..\libwidg\objbc\libstx_libwidg.dll:
	cd ..\..\libwidg
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	cd ..\projects\smalltalk

libstx_libhtml.dll: ..\..\libhtml\objbc\libstx_libhtml.dll
	copy ..\..\libhtml\objbc\libstx_libhtml.dll *.*

..\..\libhtml\objbc\libstx_libhtml.dll:
	cd ..\..\libhtml
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	cd ..\projects\smalltalk

libstx_libwidg2.dll: ..\..\libwidg2\objbc\libstx_libwidg2.dll
	copy ..\..\libwidg2\objbc\libstx_libwidg2.dll *.*

..\..\libwidg2\objbc\libstx_libwidg2.dll:
	cd ..\..\libwidg2
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	cd ..\projects\smalltalk

libstx_libwidg3.dll: ..\..\libwidg3\objbc\libstx_libwidg3.dll
	copy ..\..\libwidg3\objbc\libstx_libwidg3.dll *.*

..\..\libwidg3\objbc\libstx_libwidg3.dll:
	cd ..\..\libwidg3
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	cd ..\projects\smalltalk

libstx_libtool.dll: ..\..\libtool\objbc\libstx_libtool.dll
	copy ..\..\libtool\objbc\libstx_libtool.dll *.*

..\..\libtool\objbc\libstx_libtool.dll:
	cd ..\..\libtool
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	cd ..\projects\smalltalk

libstx_libtool2.dll: ..\..\libtool2\objbc\libstx_libtool2.dll
	copy ..\..\libtool2\objbc\libstx_libtool2.dll *.*

..\..\libtool2\objbc\libstx_libtool2.dll:
	cd ..\..\libtool2
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	cd ..\projects\smalltalk

libstx_goodies_refactoryBrowser_refactoring.dll: ..\..\goodies\refactoryBrowser\refactoring\objbc\libstx_goodies_refactoryBrowser_refactoring.dll
	copy ..\..\goodies\refactoryBrowser\refactoring\objbc\libstx_goodies_refactoryBrowser_refactoring.dll *.*

..\..\goodies\refactoryBrowser\refactoring\objbc\libstx_goodies_refactoryBrowser_refactoring.dll:
	cd ..\..\goodies\refactoryBrowser\refactoring
	bmake "CFLAGS_LOCAL=$(GLOBALDEFINES) "
	cd ..\..\..\projects\smalltalk

      


sources\NUL: 
	mkdir sources

show:
	@echo LFLAGS= $(LFLAGS)
	@echo ALLOBJ= $(ALLOBJ)
	@echo PROJECT= $(PROJECT)
	@echo ALLLIB= $(ALLLIB)
	@echo DEFFILE= $(DEFFILE)
	@echo ALLRES= $(ALLRES)

$(PROJECT_CONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE)
	$(BCB)\BIN\$(LINKER) $(LFLAGS) $(ALLOBJ), $(PROJECT_CONSOLE),, $(ALLLIB), $(DEFFILE), $(RESFILES)

$(PROJECT_NOCONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE)
	$(BCB)\BIN\$(LINKER) $(LFLAGS) $(ALLOBJ), $(PROJECT_NOCONSOLE),, $(ALLLIB), $(DEFFILE), $(RESFILES)

#$(PROJECT): $(ALLOBJFILES) $(RESFILES) $(DEFFILE)
#    $(BCB)\BIN\$(LINKER) @&&!
#    $(LFLAGS) +
#    $(ALLOBJ), +
#    $(PROJECT),, +
#    $(ALLLIB), +
#    $(DEFFILE), +
#    $(RESFILES)
#!


!INCLUDE $(TOP)\rules\stdRules_bc

#
# additional rules
#
smalltalkWin.res: smalltalkWin.rc smalltalk.ico

main.obj: buildDate.h main.c bc.mak

main.c: $(TOP)\librun\main.c
	copy $(TOP)\librun\main.c main.c

buildDate.h: $(TOP)\librun\genDate.exe
	$(TOP)\librun\genDate.exe

librun.dll: $(TOP)\librun\librun.dll
	copy $(TOP)\librun\librun.dll librun.dll

cs3245.dll: $(TOP)\support\win32\borland\cs3245.dll
	copy $(TOP)\support\win32\borland\cs3245.dll cs3245.dll

symbols.stc: $(TOP)\include\symbols.stc
	copy $(TOP)\include\symbols.stc symbols.stc

clobber::
	-del librun.dll



clean::
	-del genDate.exe
	-del c0x32.dll
	-del c0x32.lib
	-del buildDate.h
	-del $(PROJECT)
	-del install_smalltalk.exe
	-del stx.lib
	-del stx.dll
	-del cs3245.dll
	-del $(REQUIRED_FILES)
	-del main.c
	-del *.log
	-del *.res
	-rmdir /S /Q resources
	-rmdir /S /Q objbc

clobber::
	-del *.dll
	-del *.exe

# BEGINMAKEDEPEND --- do not remove this line; make depend needs it
$(OUTDIR)stx_projects_smalltalk.$(O) stx_projects_smalltalk.$(H): stx_projects_smalltalk.st $(INCLUDE_TOP)\stx\libbasic\ApplicationDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)

# ENDMAKEDEPEND --- do not remove this line