startup/Make.proto
author Stefan Vogel <sv@exept.de>
Thu, 25 Apr 2013 15:09:57 +0200
changeset 2552 f4c15588965e
parent 2396 fadc6d7a2f5b
child 2429 ebece4dcaab9
child 2678 c865275e48a7
permissions -rw-r--r--
Changed usage of deprecated #copyWithoutLast: to #copyButLast:

# $Header: /cvs/stx/stx/libjava/startup/Make.proto,v 1.3 2013-02-25 11:15:34 vrany Exp $
#
# automagically generated from the projectDefinition: stx_libjava_startup.
#
# -------------- no need to change anything below ----------
#
# This makefile generates some standalone demo applications
#
#    make
#       generates startup
#

TOP=../..
INCLUDE_TOP=$(TOP)/..

PACKAGE=stx:libjava/startup
SUBDIRS=
SUPPRESS_LOCAL_ABBREVS="yes"
NOAUTOLOAD=1
NOSUBAUTOLOAD=1

LOCALINCLUDES=-I$(INCLUDE_TOP)/stx/libbasic  -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libjava -I$(INCLUDE_TOP)/stx/libcomp
LOCALDEFINES=
GLOBALDEFINES=
MAIN_DEFINES=-DIGNORE_IMAGE -DNO_DISPLAY

RCSSOURCES=Make.proto *.st
LINKSOURCES=Make.proto *.st

DELIVERBINARIES=

target: ALL

all::   prereq exe

LIBNAME=libstx_libjava_startup
STCLOCALOPT='-package=$(PACKAGE)' -I. -headerDir=. $(LOCALINCLUDES) $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) -headerDir=.  -varPrefix=$(LIBNAME)


# ********** OPTIONAL: MODIFY the next line ***
# additional C-libraries that should be pre-linked with the class-objects
LD_OBJ_LIBS=
LOCAL_SHARED_LIBS=


# ********** OPTIONAL: MODIFY the next line ***
# additional C targets or libraries should be added below
LOCAL_EXTRA_TARGETS=

OBJS= $(COMMON_OBJS) $(UNIX_OBJS)





LIBLIST = $(REQUIRED_LIBS)

# required libs:
#

REQUIRED_LIBS= libstx_libbasic \
 libstx_libcomp \
 libstx_libbasic2 \
 libstx_libdb \
 libstx_libview \
 libstx_libdb_libsqlite \
 libstx_libdb_libodbc \
 libstx_libboss \
 libstx_libview2 \
 libstx_libbasic3 \
 libstx_goodies_sunit \
 libstx_libui \
 libstx_libwidg \
 libstx_libwidg2 \
 libstx_libhtml \
 libstx_libtool \
 libstx_libjava \


REQUIRED_LIBOBJS= ../../libbasic/libstx_libbasic$(O_EXT) \
 ../../libcomp/libstx_libcomp$(O_EXT) \
 ../../libbasic2/libstx_libbasic2$(O_EXT) \
 ../../libdb/libstx_libdb$(O_EXT) \
 ../../libview/libstx_libview$(O_EXT) \
 ../../libdb/libsqlite/libstx_libdb_libsqlite$(O_EXT) \
 ../../libdb/libodbc/libstx_libdb_libodbc$(O_EXT) \
 ../../libboss/libstx_libboss$(O_EXT) \
 ../../libview2/libstx_libview2$(O_EXT) \
 ../../libbasic3/libstx_libbasic3$(O_EXT) \
 ../../goodies/sunit/libstx_goodies_sunit$(O_EXT) \
 ../../libui/libstx_libui$(O_EXT) \
 ../../libwidg/libstx_libwidg$(O_EXT) \
 ../../libwidg2/libstx_libwidg2$(O_EXT) \
 ../../libhtml/libstx_libhtml$(O_EXT) \
 ../../libtool/libstx_libtool$(O_EXT) \
 ..//libstx_libjava$(O_EXT) \


REQUIRED_LINK_LIBOBJS= libstx_libbasic$(O_EXT) \
 libstx_libcomp$(O_EXT) \
 libstx_libbasic2$(O_EXT) \
 libstx_libdb$(O_EXT) \
 libstx_libview$(O_EXT) \
 libstx_libdb_libsqlite$(O_EXT) \
 libstx_libdb_libodbc$(O_EXT) \
 libstx_libboss$(O_EXT) \
 libstx_libview2$(O_EXT) \
 libstx_libbasic3$(O_EXT) \
 libstx_goodies_sunit$(O_EXT) \
 libstx_libui$(O_EXT) \
 libstx_libwidg$(O_EXT) \
 libstx_libwidg2$(O_EXT) \
 libstx_libhtml$(O_EXT) \
 libstx_libtool$(O_EXT) \
 libstx_libjava$(O_EXT) \


REQUIRED_SUPPORT_DIRS=RESOURCEFILES

exe:    startup $(REQUIRED_SUPPORT_DIRS)

startup: $(APP_DIRS_TO_MAKE) $(APP_LIBOBJS) $(OBJS)
	$(MAKE) link_startup

link_startup:
	$(MAKE) NON_GUI_APPLICATION \
		    TARGET=startup \
		    APPLICATION_CLASSES="$(COMMON_CLASSES) $(UNIX_CLASSES)" \
		    APPLICATION_OBJS="$(OBJS)" \
		    APPLICATION_LIBLIST="$(REQUIRED_LIBS)" \
		    APPLICATION_LIBOBJS="$(REQUIRED_LIBOBJS)" \
		    APPLICATION_LINK_LIBOBJS="$(REQUIRED_LINK_LIBOBJS)" \
		    STARTUP_CLASS="JavaStartup" \
		    STARTUP_SELECTOR="start" \
		    MAIN_DEFINES="-DIGNORE_IMAGE -DNO_DISPLAY"

# build all prerequisite packages for this package
prereq:
	cd ../../libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
	cd ../../libcomp && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
	cd ../../libbasic2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
	cd ../../libdb && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
	cd ../../libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
	cd ../../libdb/libsqlite && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
	cd ../../libdb/libodbc && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
	cd ../../libboss && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
	cd ../../libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
	cd ../../libbasic3 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
	cd ../../goodies/sunit && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
	cd ../../libui && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
	cd ../../libwidg && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
	cd ../../libwidg2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
	cd ../../libhtml && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
	cd ../../libtool && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
	cd ../ && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"



setup:
	@if test -d autoPackage; then \
	    makepackage; \
	else \
	    echo "Error: make setup not yet available in linux/unix"; \
	    exit 1; \
	fi

SOURCEFILES: startup_SOURCES \
	stx_SOURCES




RESOURCEFILES: startup_RESOURCES startup_BITMAPS  \
	stx_RESOURCES stx_STYLES stx_BITMAPS


startup_RESOURCES: 
	mkdir -p resources/stx/libjava/startup
	-cp ../resources/*.rs ../resources/*.style resources/stx/libjava/startup/..

startup_BITMAPS: 
	mkdir -p resources/stx/libjava/startup/bitmaps
	-cp *.ico *.gif *.png resources/stx/libjava/startup/bitmaps



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

keyboard.rc: $(TOP)/projects/smalltalk/keyboard.rc
	cp $(TOP)/projects/smalltalk/keyboard.rc .

keyboardMacros.rc: $(TOP)/projects/smalltalk/keyboardMacros.rc
	cp $(TOP)/projects/smalltalk/keyboardMacros.rc .

display.rc: $(TOP)/projects/smalltalk/display.rc
	cp $(TOP)/projects/smalltalk/display.rc .

stx_STYLES: 
	mkdir -p resources/stx/libview
	mkdir -p resources/stx/libview/styles
	cp $(TOP)/libview/styles/*.common resources/stx/libview/styles
	cp $(TOP)/libview/styles/*.style resources/stx/libview/styles

stx_BITMAPS: \
	libwidg_BITMAPS

libwidg_BITMAPS: 
	mkdir -p resources/stx/libwidg/bitmaps
	-cp $(TOP)/libwidg/bitmaps/*.* resources/stx/libwidg/bitmaps

libbasic_RESOURCES: 
	mkdir -p resources/stx/libbasic
	-cp $(TOP)/libbasic/resources/*.* resources/stx/libbasic

libtool_RESOURCES: 
	mkdir -p resources/stx/libtool
	-cp $(TOP)/libtool/resources/*.* resources/stx/libtool

libtool2_RESOURCES: 
	mkdir -p resources/stx/libtool2
	-cp $(TOP)/libtool2/resources/*.* resources/stx/libtool2

libview_RESOURCES: 
	mkdir -p resources/stx/libview
	-cp $(TOP)/libview/resources/*.* resources/stx/libview

libview2_RESOURCES: 
	mkdir -p resources/stx/libview2
	-cp $(TOP)/libview2/resources/*.* resources/stx/libview2

bitmaps:
	mkdir -p bitmaps

doc:
	mkdir -p doc



libstx_libbasic.so: ../../libbasic/libstx_libbasic.so
	cp ../../libbasic/libstx_libbasic.so .

../../libbasic/libstx_libbasic.so:
	cd ../../libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "

libstx_libcomp.so: ../../libcomp/libstx_libcomp.so
	cp ../../libcomp/libstx_libcomp.so .

../../libcomp/libstx_libcomp.so:
	cd ../../libcomp && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "

libstx_libbasic2.so: ../../libbasic2/libstx_libbasic2.so
	cp ../../libbasic2/libstx_libbasic2.so .

../../libbasic2/libstx_libbasic2.so:
	cd ../../libbasic2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "

libstx_libdb.so: ../../libdb/libstx_libdb.so
	cp ../../libdb/libstx_libdb.so .

../../libdb/libstx_libdb.so:
	cd ../../libdb && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "

libstx_libview.so: ../../libview/libstx_libview.so
	cp ../../libview/libstx_libview.so .

../../libview/libstx_libview.so:
	cd ../../libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "

libstx_libdb_libsqlite.so: ../../libdb/libsqlite/libstx_libdb_libsqlite.so
	cp ../../libdb/libsqlite/libstx_libdb_libsqlite.so .

../../libdb/libsqlite/libstx_libdb_libsqlite.so:
	cd ../../libdb/libsqlite && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "

libstx_libdb_libodbc.so: ../../libdb/libodbc/libstx_libdb_libodbc.so
	cp ../../libdb/libodbc/libstx_libdb_libodbc.so .

../../libdb/libodbc/libstx_libdb_libodbc.so:
	cd ../../libdb/libodbc && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "

libstx_libboss.so: ../../libboss/libstx_libboss.so
	cp ../../libboss/libstx_libboss.so .

../../libboss/libstx_libboss.so:
	cd ../../libboss && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "

libstx_libview2.so: ../../libview2/libstx_libview2.so
	cp ../../libview2/libstx_libview2.so .

../../libview2/libstx_libview2.so:
	cd ../../libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "

libstx_libbasic3.so: ../../libbasic3/libstx_libbasic3.so
	cp ../../libbasic3/libstx_libbasic3.so .

../../libbasic3/libstx_libbasic3.so:
	cd ../../libbasic3 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "

libstx_goodies_sunit.so: ../../goodies/sunit/libstx_goodies_sunit.so
	cp ../../goodies/sunit/libstx_goodies_sunit.so .

../../goodies/sunit/libstx_goodies_sunit.so:
	cd ../../goodies/sunit && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "

libstx_libui.so: ../../libui/libstx_libui.so
	cp ../../libui/libstx_libui.so .

../../libui/libstx_libui.so:
	cd ../../libui && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "

libstx_libwidg.so: ../../libwidg/libstx_libwidg.so
	cp ../../libwidg/libstx_libwidg.so .

../../libwidg/libstx_libwidg.so:
	cd ../../libwidg && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "

libstx_libwidg2.so: ../../libwidg2/libstx_libwidg2.so
	cp ../../libwidg2/libstx_libwidg2.so .

../../libwidg2/libstx_libwidg2.so:
	cd ../../libwidg2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "

libstx_libhtml.so: ../../libhtml/libstx_libhtml.so
	cp ../../libhtml/libstx_libhtml.so .

../../libhtml/libstx_libhtml.so:
	cd ../../libhtml && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "

libstx_libtool.so: ../../libtool/libstx_libtool.so
	cp ../../libtool/libstx_libtool.so .

../../libtool/libstx_libtool.so:
	cd ../../libtool && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "

libstx_libjava.so: ..//libstx_libjava.so
	cp ..//libstx_libjava.so .

..//libstx_libjava.so:
	cd ../ && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "







# Update SVN revision in package definition class
ifneq (,$(findstring .svn,$(wildcard .svn)))
.svnversion: *.st
	if [ -d .svn ]; then \
		rev=$(shell svnversion -n); \
		echo -n $$rev > .svnversion; \
	else \
		echo -n exported > .svnversion; \
	fi

stx_libjava_startup.o: stx_libjava_startup.st .svnversion
	@if [ -d .svn ]; then \
		rev2="$(shell printf "%-16s" $$(cat .svnversion))"; \
		echo "  [SV]  Expanding svnRevisionNo in $1.st"; \
		sed -e "s/\"\$$SVN\-Revision:\".*\"\$$\"/\"\$$SVN-Revision:\"\'$$rev2\'\"\$$\"/g" $< > .stx_libjava_startup.svn.st; \
	fi
	$(MAKE) CC="$(CLASSLIB_CC)" OPT="$(OPT)" SEPINITCODE="$(SEPINITCODE)" STC="$(STC)" STFILE=.stx_libjava_startup.svn $(C_RULE);
	sed -i -e "s/\".stx_libjava_startup.svn.st\");/\"\stx_libjava_startup.st\");/g" .stx_libjava_startup.svn.c
	$(MAKE) .stx_libjava_startup.svn.$(O)
	@mv .stx_libjava_startup.svn.$(O) stx_libjava_startup.$(O)
endif



# Enforce recompilation of package definition class if Mercurial working
# copy state changes. Together with --guessVersion it ensures that package
# definition class always contains correct binary revision string.
ifneq (**NOHG**, $(shell hg root 2> /dev/null || echo -n '**NOHG**'))
stx_libjava_startup.$(O): $(shell hg root)/.hg/dirstate
endif




clean::
	-rm -f *.so startup.$(O)

clobber:: clean
	-rm -f startup *.img *.sav

# BEGINMAKEDEPEND --- do not remove this line; make depend needs it
$(OUTDIR)JavaStartup.$(O) JavaStartup.$(H): JavaStartup.st $(INCLUDE_TOP)/stx/libbasic/StandaloneStartup.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)stx_libjava_startup.$(O) stx_libjava_startup.$(H): stx_libjava_startup.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