[Vm-dev] [commit][3589] Mac OS X makefiles.

commits at squeakvm.org commits at squeakvm.org
Fri Feb 12 19:32:40 UTC 2016


Revision: 3589
Author:   eliot
Date:     2016-02-12 11:32:34 -0800 (Fri, 12 Feb 2016)
Log Message:
-----------
Mac OS X makefiles.
Add support for installing sources either into the dir or the app.
Fix dependency recognition by eliminating the BASEDIR nonsense.

Modified Paths:
--------------
    branches/Cog/build.macos32x86/common/Makefile.app
    branches/Cog/build.macos32x86/common/Makefile.app.newspeak
    branches/Cog/build.macos32x86/common/Makefile.plugin
    branches/Cog/build.macos32x86/common/Makefile.rules
    branches/Cog/build.macos32x86/common/Makefile.vm
    branches/Cog/build.macos32x86/squeak+immutability.cog.spur/Makefile
    branches/Cog/build.macos32x86/squeak.cog.spur/Makefile
    branches/Cog/build.macos32x86/squeak.cog.v3/Makefile
    branches/Cog/build.macos32x86/squeak.sista.spur/Makefile
    branches/Cog/build.macos32x86/squeak.stack.spur/Makefile
    branches/Cog/build.macos32x86/squeak.stack.v3/Makefile
    branches/Cog/build.macos64x64/common/Makefile.app
    branches/Cog/build.macos64x64/common/Makefile.app.newspeak
    branches/Cog/build.macos64x64/common/Makefile.plugin
    branches/Cog/build.macos64x64/common/Makefile.rules
    branches/Cog/build.macos64x64/common/Makefile.vm
    branches/Cog/build.macos64x64/squeak.cog.spur/Makefile
    branches/Cog/build.macos64x64/squeak.sista.spur/Makefile
    branches/Cog/build.macos64x64/squeak.stack.spur/Makefile

Property Changed:
----------------
    branches/Cog/platforms/Cross/vm/sqSCCSVersion.h

Modified: branches/Cog/build.macos32x86/common/Makefile.app
===================================================================
--- branches/Cog/build.macos32x86/common/Makefile.app	2016-02-12 00:14:11 UTC (rev 3588)
+++ branches/Cog/build.macos32x86/common/Makefile.app	2016-02-12 19:32:34 UTC (rev 3589)
@@ -12,6 +12,10 @@
 #
 # The name of the VM to build.  Optional.  Defaults to Squeak
 #
+# SOURCEFILE the Smalltalk source file to link into this directory. Optional.
+#
+# APPSOURCE the Smalltalk source file to link into the app Resource. Optional.
+#
 # PLUGINSRCDIR defines the locaton of the plugin source, the subsets of which
 # selected by plugins.int and plugins.ext will be built. Optional. Defaults to
 # ../../src
@@ -49,10 +53,19 @@
 OSXICONS:=$(OSXDIR)/$(VM).icns $(wildcard $(OSXDIR)/$(SYSTEM)*.icns)
 VMICONS:=$(addprefix $(APP)/Contents/Resources/,$(notdir $(OSXICONS)))
 VMMENUNIB:=$(APP)/Contents/Resources/English.lproj/MainMenu.nib
+SOURCES:=
+ifneq ("$(SOURCEFILE)",)
+SOURCES:=./$(SOURCEFILE)
+endif
+ifneq ("$(APPSOURCE)",)
+SOURCES:=$(SOURCES) $(APP)/Contents/Resources/$(APPSOURCE)
+endif
 
-$(APP):	$(VMEXE) $(VMBUNDLES) $(VMPLIST) $(VMMENUNIB) $(VMICONS) $(APPPOST) signapp
 
-$(VMEXE): vm $(OBJDIR)/$(VM)
+$(APP):	$(VMEXE) $(VMBUNDLES) $(VMPLIST) $(VMMENUNIB) $(VMICONS) $(SOURCES) \
+		$(APPPOST) signapp
+
+$(VMEXE): $(OBJDIR)/$(VM)
 	mkdir -p $(APP)/Contents/MacOS
 	cp -p $(OBJDIR)/$(VM) $(APP)/Contents/MacOS
 
@@ -91,6 +104,13 @@
 	codesign -f --deep -s "$(SIGNING_IDENTITY)" $(APP)
 endif
 
+# source installation
+%.sources: ../../sources/%.sources
+	ln $< $@
+
+$(APP)/Contents/Resources/%.sources: ../../sources/%.sources
+	ln $< $@
+
 print-app-settings:
 	@echo ---------------- Makefile.app settings ------------------
 	@echo APP=$(APP)

Modified: branches/Cog/build.macos32x86/common/Makefile.app.newspeak
===================================================================
--- branches/Cog/build.macos32x86/common/Makefile.app.newspeak	2016-02-12 00:14:11 UTC (rev 3588)
+++ branches/Cog/build.macos32x86/common/Makefile.app.newspeak	2016-02-12 19:32:34 UTC (rev 3589)
@@ -7,6 +7,7 @@
 
 VM:=NewspeakVirtualMachine
 SYSTEM:=Newspeak
+APPSOURCE:=SqueakV50.sources
 
 APPPOST:=renameExe renameIcon
 

Modified: branches/Cog/build.macos32x86/common/Makefile.plugin
===================================================================
--- branches/Cog/build.macos32x86/common/Makefile.plugin	2016-02-12 00:14:11 UTC (rev 3588)
+++ branches/Cog/build.macos32x86/common/Makefile.plugin	2016-02-12 19:32:34 UTC (rev 3589)
@@ -34,8 +34,7 @@
 # PLUGINSRCDIR: Where is the root of the src/plugins source tree?
 # VMSRCDIR: Where is the root of the src vm source tree?
 # PLATDIR: Where is the root of the platforms tree?
-# BASEDIR: Where is the root of the build tree?
-COMMONDIR:=$(BASEDIR)/../common
+COMMONDIR:=../common
 
 #############################################################################
 # Standard directory locations:
@@ -50,7 +49,7 @@
 OSXPLGDIR:=	$(PLATDIR)/iOS/plugins/$(LIBNAME)
 UNIXDIR:=	$(PLATDIR)/unix/vm
 MAKERDIR:=	$(PLUGINSRCDIR)/$(LIBNAME)
-BUILDDIR:=	$(BASEDIR)/$(BUILD)/$(LIBNAME)
+BUILDDIR:=	$(BUILD)/$(LIBNAME)
 
 # Support directory locations
 CROSSVMDIR:=$(PLATDIR)/Cross/vm
@@ -86,8 +85,8 @@
 #############################################################################
 # Plugin settings
 #
-OBJDIR:=    $(BASEDIR)/$(BUILD)/$(LIBNAME)
-VMDIR:=     $(BASEDIR)/$(BUILD)/vm
+OBJDIR:=    $(BUILD)/$(LIBNAME)
+VMDIR:=     $(BUILD)/vm
 PLUGINLIB:= $(VMDIR)/$(LIBNAME).lib
 PLUGINBUNDLE:= $(VMDIR)/$(LIBNAME).bundle
 PLUGINEXE:= $(PLUGINBUNDLE)/Contents/MacOS/$(LIBNAME)
@@ -132,6 +131,7 @@
 	@echo PLUGINLIB=$(PLUGINLIB)
 	@echo PLUGINEXE=$(PLUGINEXE)
 	@echo PLUGINBUNDLE=$(PLUGINBUNDLE)
+	@echo deps=$(patsubst %,deps/%.d,$(notdir $(basename $(VMSRC))))
 	@echo -----------------------------------------------------
 
 $(OBJDIR):

Modified: branches/Cog/build.macos32x86/common/Makefile.rules
===================================================================
--- branches/Cog/build.macos32x86/common/Makefile.rules	2016-02-12 00:14:11 UTC (rev 3588)
+++ branches/Cog/build.macos32x86/common/Makefile.rules	2016-02-12 19:32:34 UTC (rev 3589)
@@ -14,24 +14,22 @@
 DEPFLAGS = -MT $@ -MMD -MP -MF deps/$(*F).Td
 ALLFLAGS = $(DEPFLAGS) $(WARNINGS) $(CFLAGS)
 #POSTCOMPILE = mv -f deps/$(*F).Td deps/$(*F).d
-POSTCOMPILE = sed '/^$$/d' <deps/$(*F).Td | sed '/^.*:$$/d' > deps/$(*F).d; rm deps/$(*F).Td
+POSTCOMPILE = sed '/^$$/d' <deps/$(*F).Td | sed '/^.*:$$/d' > deps/$(*F).d; rm deps/$(*F).Td; touch -r $< deps/$(*F).d
 
-$(OBJDIR)/%.o: %.c
 $(OBJDIR)/%.o: %.c deps/%.d
 	$(CC) -x c $(ALLFLAGS) $(INCLUDES) -c $< -o $@
 	$(POSTCOMPILE)
 
-$(OBJDIR)/%.o: %.m
 $(OBJDIR)/%.o: %.m deps/%.d
 	$(CC) -x objective-c $(ALLFLAGS) $(INCLUDES) -c $< -o $@
 	$(POSTCOMPILE)
 
-$(OBJDIR)/%.o: %.cpp
 $(OBJDIR)/%.o: %.cpp deps/%.d
 	$(CC) -x c++ $(ALLFLAGS) $(INCLUDES) -c $< -o $@
 	$(POSTCOMPILE)
 
 deps/%.d: ;
+
 .PRECIOUS: deps/%.d
 
--include $(patsubst %,deps/%.d,$(basename $(VMSRC)))
+-include $(patsubst %,deps/%.d,$(notdir $(basename $(VMSRC))))

Modified: branches/Cog/build.macos32x86/common/Makefile.vm
===================================================================
--- branches/Cog/build.macos32x86/common/Makefile.vm	2016-02-12 00:14:11 UTC (rev 3588)
+++ branches/Cog/build.macos32x86/common/Makefile.vm	2016-02-12 19:32:34 UTC (rev 3589)
@@ -30,10 +30,7 @@
 #############################################################################
 # Build directories
 #
-ifndef BASEDIR
-BASEDIR:=.
-endif
-COMMONDIR:=$(BASEDIR)/../common
+COMMONDIR:=../common
 
 ifeq ("$(CONFIGURATION)","assert")
 	BUILD:=buildast
@@ -43,7 +40,7 @@
 	BUILD:=build
 endif
 $(shell mkdir -p deps >/dev/null) # deps is the dependencies directory
-BLDDIR:= $(BASEDIR)/$(BUILD)
+BLDDIR:= $(BUILD)
 OBJDIR:= $(BLDDIR)/vm
 
 # N.B. PLATDIR *must* be a relative path, see -f../../$(shell test -f ...) below
@@ -132,7 +129,6 @@
 svnver:
 	@-echo $(SVNREV)
 
-getversion: $(OSXCOMMONDIR)/version.c $(CROSSDIR)/sqSCCSVersion.h
 getversion: $(OSXCOMMONDIR)/version.c deps/version.d $(CROSSDIR)/sqSCCSVersion.h
 	$(CC) -x c -DVERSION_PROGRAM=1 $(ALLFLAGS) $(INCLUDES) $< -o $@
 	$(POSTCOMPILE)
@@ -181,7 +177,7 @@
 	@echo OBJDIR=$(OBJDIR)
 	@echo LIBS=$(LIBS)
 	@echo BUNDLES=$(BUNDLES)
-	@echo MAKEFILE=$(MAKEFILE)
+	@echo deps=$(patsubst %,deps/%.d,$(notdir $(basename $(VMSRC))))
 	@echo -----------------------------------------------------
 
 print-objects:
@@ -189,7 +185,7 @@
 	@echo VMOBJ=$(VMOBJ)
 	@echo -----------------------------------------------------
 
-vm:	$(OBJDIR)/$(VM)
+#vm:	$(OBJDIR)/$(VM)
 
 $(OBJDIR)/$(VM): $(OBJDIR) $(VMOBJ) $(LIBS)
 	$(CC) -arch $(TARGET_ARCH) -o $(OBJDIR)/version.o $(CFLAGS) $(INCLUDES) $(DEFS) -c $(OSXCOMMONDIR)/version.c
@@ -209,7 +205,7 @@
 #############################################################################
 # Building plugins
 #
-.PHONY: $(OBJDIR)/%.lib $(OBJDIR)/%.bundle %.lib %.bundle
+.PHONY: $(OBJDIR)/%.lib $(OBJDIR)/%.bundle
 
 plugin-makefile = $(shell test -f $(OSXPLUGINSDIR)/$(1)/Makefile && echo $(OSXPLUGINSDIR)/$(1)/Makefile || echo $(COMMONDIR)/Makefile.plugin)
 
@@ -222,8 +218,7 @@
 	$(MAKE) $(MFLAGS) BUILD=$(BUILD) \
 		-f $(call plugin-makefile,$(*F)) MAKEFILE=$(call plugin-makefile,$(*F)) \
 		CONFIGURATION=$(CONFIGURATION) ARCH=$(TARGET_ARCH) \
-		PLATDIR=$(PLATDIR) BASEDIR=$(BASEDIR) \
-		PLUGINSRCDIR=$(PLUGINSRCDIR) VMSRCDIR=$(VMSRCDIR) \
+		PLATDIR=$(PLATDIR) PLUGINSRCDIR=$(PLUGINSRCDIR) VMSRCDIR=$(VMSRCDIR) \
 		LIBNAME=$(*F) COGDEFS="$(COGDEFS)" XDEFS=-DSQUEAK_BUILTIN_PLUGIN \
 		$(PLUGINHACK) \
 		$(OBJDIR)/$(*F).lib
@@ -240,8 +235,7 @@
 	$(MAKE) $(MFLAGS) BUILD=$(BUILD) \
 		-f $(call plugin-makefile,$(*F)) MAKEFILE=$(call plugin-makefile,$(*F)) \
 		CONFIGURATION=$(CONFIGURATION) ARCH=$(TARGET_ARCH) \
-		PLATDIR=$(PLATDIR) BASEDIR=$(BASEDIR) \
-		PLUGINSRCDIR=$(PLUGINSRCDIR) VMSRCDIR=$(VMSRCDIR) \
+		PLATDIR=$(PLATDIR) PLUGINSRCDIR=$(PLUGINSRCDIR) VMSRCDIR=$(VMSRCDIR) \
 		LIBNAME=$(*F) COGDEFS="$(COGDEFS)" \
 		$(PLUGINHACK) \
 		$(OBJDIR)/$(*F).bundle
@@ -250,6 +244,8 @@
 #%.bundle: $(OBJDIR)/%.bundle
 #	make $(MAKEFLAGS) $<
 
+.PRECIOUS: $(OBJDIR)/%.lib $(OBJDIR)/%.bundle
+
 #############################################################################
 # Extra specific dependencies
 #

Modified: branches/Cog/build.macos32x86/squeak+immutability.cog.spur/Makefile
===================================================================
--- branches/Cog/build.macos32x86/squeak+immutability.cog.spur/Makefile	2016-02-12 00:14:11 UTC (rev 3588)
+++ branches/Cog/build.macos32x86/squeak+immutability.cog.spur/Makefile	2016-02-12 19:32:34 UTC (rev 3589)
@@ -4,6 +4,8 @@
 #
 
 VMSRCDIR:= ../../spursrc/vm
+SOURCEFILE:=SqueakV50.sources
+
 COGDEFS=-DIMMUTABILITY=1
 
 # Now include the Makefile proper, which is common to all Mac OS builds.

Modified: branches/Cog/build.macos32x86/squeak.cog.spur/Makefile
===================================================================
--- branches/Cog/build.macos32x86/squeak.cog.spur/Makefile	2016-02-12 00:14:11 UTC (rev 3588)
+++ branches/Cog/build.macos32x86/squeak.cog.spur/Makefile	2016-02-12 19:32:34 UTC (rev 3589)
@@ -4,6 +4,7 @@
 #
 
 VMSRCDIR:= ../../spursrc/vm
+SOURCEFILE:=SqueakV50.sources
 
 # Now include the Makefile proper, which is common to all Mac OS builds.
 #

Modified: branches/Cog/build.macos32x86/squeak.cog.v3/Makefile
===================================================================
--- branches/Cog/build.macos32x86/squeak.cog.v3/Makefile	2016-02-12 00:14:11 UTC (rev 3588)
+++ branches/Cog/build.macos32x86/squeak.cog.v3/Makefile	2016-02-12 19:32:34 UTC (rev 3589)
@@ -4,14 +4,8 @@
 #
 
 VMSRCDIR:= ../../src/vm
+SOURCEFILE:=SqueakV46.sources
 
-APPPOST:=overwriteSqueakIcon
-
 # Now include the Makefile proper, which is common to all Mac OS builds.
 #
-include ../common/Makefile.app
-
-# Replace the standard yellow VM icon with the green one used for Cog VMs
-
-overwriteSqueakIcon: $(APP)/Contents/Resources/Squeak.icns
-	cp -p $(OSXDIR)/GreenCogSqueak.icns $(APP)/Contents/Resources/Squeak.icns
+include ../common/Makefile.app.squeak.cog

Modified: branches/Cog/build.macos32x86/squeak.sista.spur/Makefile
===================================================================
--- branches/Cog/build.macos32x86/squeak.sista.spur/Makefile	2016-02-12 00:14:11 UTC (rev 3588)
+++ branches/Cog/build.macos32x86/squeak.sista.spur/Makefile	2016-02-12 19:32:34 UTC (rev 3589)
@@ -4,6 +4,7 @@
 #
 
 VMSRCDIR:= ../../spursistasrc/vm
+SOURCEFILE:=SqueakV50.sources
 
 APPPOST:=overwriteSqueakIcon
 

Modified: branches/Cog/build.macos32x86/squeak.stack.spur/Makefile
===================================================================
--- branches/Cog/build.macos32x86/squeak.stack.spur/Makefile	2016-02-12 00:14:11 UTC (rev 3588)
+++ branches/Cog/build.macos32x86/squeak.stack.spur/Makefile	2016-02-12 19:32:34 UTC (rev 3589)
@@ -4,6 +4,7 @@
 #
 
 VMSRCDIR:= ../../spurstacksrc/vm
+SOURCEFILE:=SqueakV50.sources
 
 # Now include the Makefile proper, which is common to all Mac OS builds.
 #

Modified: branches/Cog/build.macos32x86/squeak.stack.v3/Makefile
===================================================================
--- branches/Cog/build.macos32x86/squeak.stack.v3/Makefile	2016-02-12 00:14:11 UTC (rev 3588)
+++ branches/Cog/build.macos32x86/squeak.stack.v3/Makefile	2016-02-12 19:32:34 UTC (rev 3589)
@@ -4,6 +4,7 @@
 #
 
 VMSRCDIR:= ../../stacksrc/vm
+SOURCEFILE:=SqueakV46.sources
 
 # Now include the Makefile proper, which is common to all Mac OS builds.
 #

Modified: branches/Cog/build.macos64x64/common/Makefile.app
===================================================================
--- branches/Cog/build.macos64x64/common/Makefile.app	2016-02-12 00:14:11 UTC (rev 3588)
+++ branches/Cog/build.macos64x64/common/Makefile.app	2016-02-12 19:32:34 UTC (rev 3589)
@@ -12,6 +12,10 @@
 #
 # The name of the VM to build.  Optional.  Defaults to Squeak
 #
+# SOURCEFILE the Smalltalk source file to link into this directory. Optional.
+#
+# APPSOURCE the Smalltalk source file to link into the app Resource. Optional.
+#
 # PLUGINSRCDIR defines the locaton of the plugin source, the subsets of which
 # selected by plugins.int and plugins.ext will be built. Optional. Defaults to
 # ../../src
@@ -49,10 +53,19 @@
 OSXICONS:=$(OSXDIR)/$(VM).icns $(wildcard $(OSXDIR)/$(SYSTEM)*.icns)
 VMICONS:=$(addprefix $(APP)/Contents/Resources/,$(notdir $(OSXICONS)))
 VMMENUNIB:=$(APP)/Contents/Resources/English.lproj/MainMenu.nib
+SOURCES:=
+ifneq ("$(SOURCEFILE)",)
+SOURCES:=./$(SOURCEFILE)
+endif
+ifneq ("$(APPSOURCE)",)
+SOURCES:=$(SOURCES) $(APP)/Contents/Resources/$(APPSOURCE)
+endif
 
-$(APP):	$(VMEXE) $(VMBUNDLES) $(VMPLIST) $(VMMENUNIB) $(VMICONS) $(APPPOST) signapp
 
-$(VMEXE): vm $(OBJDIR)/$(VM)
+$(APP):	$(VMEXE) $(VMBUNDLES) $(VMPLIST) $(VMMENUNIB) $(VMICONS) $(SOURCES) \
+		$(APPPOST) signapp
+
+$(VMEXE): $(OBJDIR)/$(VM)
 	mkdir -p $(APP)/Contents/MacOS
 	cp -p $(OBJDIR)/$(VM) $(APP)/Contents/MacOS
 
@@ -91,6 +104,13 @@
 	codesign -f --deep -s "$(SIGNING_IDENTITY)" $(APP)
 endif
 
+# source installation
+%.sources: ../../sources/%.sources
+	ln $< $@
+
+$(APP)/Contents/Resources/%.sources: ../../sources/%.sources
+	ln $< $@
+
 print-app-settings:
 	@echo ---------------- Makefile.app settings ------------------
 	@echo APP=$(APP)

Modified: branches/Cog/build.macos64x64/common/Makefile.app.newspeak
===================================================================
--- branches/Cog/build.macos64x64/common/Makefile.app.newspeak	2016-02-12 00:14:11 UTC (rev 3588)
+++ branches/Cog/build.macos64x64/common/Makefile.app.newspeak	2016-02-12 19:32:34 UTC (rev 3589)
@@ -7,6 +7,7 @@
 
 VM:=NewspeakVirtualMachine
 SYSTEM:=Newspeak
+APPSOURCE:=SqueakV50.sources
 
 APPPOST:=renameExe renameIcon
 

Modified: branches/Cog/build.macos64x64/common/Makefile.plugin
===================================================================
--- branches/Cog/build.macos64x64/common/Makefile.plugin	2016-02-12 00:14:11 UTC (rev 3588)
+++ branches/Cog/build.macos64x64/common/Makefile.plugin	2016-02-12 19:32:34 UTC (rev 3589)
@@ -34,8 +34,7 @@
 # PLUGINSRCDIR: Where is the root of the src/plugins source tree?
 # VMSRCDIR: Where is the root of the src vm source tree?
 # PLATDIR: Where is the root of the platforms tree?
-# BASEDIR: Where is the root of the build tree?
-COMMONDIR:=$(BASEDIR)/../common
+COMMONDIR:=../common
 
 #############################################################################
 # Standard directory locations:
@@ -50,7 +49,7 @@
 OSXPLGDIR:=	$(PLATDIR)/iOS/plugins/$(LIBNAME)
 UNIXDIR:=	$(PLATDIR)/unix/vm
 MAKERDIR:=	$(PLUGINSRCDIR)/$(LIBNAME)
-BUILDDIR:=	$(BASEDIR)/$(BUILD)/$(LIBNAME)
+BUILDDIR:=	$(BUILD)/$(LIBNAME)
 
 # Support directory locations
 CROSSVMDIR:=$(PLATDIR)/Cross/vm
@@ -86,8 +85,8 @@
 #############################################################################
 # Plugin settings
 #
-OBJDIR:=    $(BASEDIR)/$(BUILD)/$(LIBNAME)
-VMDIR:=     $(BASEDIR)/$(BUILD)/vm
+OBJDIR:=    $(BUILD)/$(LIBNAME)
+VMDIR:=     $(BUILD)/vm
 PLUGINLIB:= $(VMDIR)/$(LIBNAME).lib
 PLUGINBUNDLE:= $(VMDIR)/$(LIBNAME).bundle
 PLUGINEXE:= $(PLUGINBUNDLE)/Contents/MacOS/$(LIBNAME)
@@ -132,6 +131,7 @@
 	@echo PLUGINLIB=$(PLUGINLIB)
 	@echo PLUGINEXE=$(PLUGINEXE)
 	@echo PLUGINBUNDLE=$(PLUGINBUNDLE)
+	@echo deps=$(patsubst %,deps/%.d,$(notdir $(basename $(VMSRC))))
 	@echo -----------------------------------------------------
 
 $(OBJDIR):

Modified: branches/Cog/build.macos64x64/common/Makefile.rules
===================================================================
--- branches/Cog/build.macos64x64/common/Makefile.rules	2016-02-12 00:14:11 UTC (rev 3588)
+++ branches/Cog/build.macos64x64/common/Makefile.rules	2016-02-12 19:32:34 UTC (rev 3589)
@@ -14,24 +14,22 @@
 DEPFLAGS = -MT $@ -MMD -MP -MF deps/$(*F).Td
 ALLFLAGS = $(DEPFLAGS) $(WARNINGS) $(CFLAGS)
 #POSTCOMPILE = mv -f deps/$(*F).Td deps/$(*F).d
-POSTCOMPILE = sed '/^$$/d' <deps/$(*F).Td | sed '/^.*:$$/d' > deps/$(*F).d; rm deps/$(*F).Td
+POSTCOMPILE = sed '/^$$/d' <deps/$(*F).Td | sed '/^.*:$$/d' > deps/$(*F).d; rm deps/$(*F).Td; touch -r $< deps/$(*F).d
 
-$(OBJDIR)/%.o: %.c
 $(OBJDIR)/%.o: %.c deps/%.d
 	$(CC) -x c $(ALLFLAGS) $(INCLUDES) -c $< -o $@
 	$(POSTCOMPILE)
 
-$(OBJDIR)/%.o: %.m
 $(OBJDIR)/%.o: %.m deps/%.d
 	$(CC) -x objective-c $(ALLFLAGS) $(INCLUDES) -c $< -o $@
 	$(POSTCOMPILE)
 
-$(OBJDIR)/%.o: %.cpp
 $(OBJDIR)/%.o: %.cpp deps/%.d
 	$(CC) -x c++ $(ALLFLAGS) $(INCLUDES) -c $< -o $@
 	$(POSTCOMPILE)
 
 deps/%.d: ;
+
 .PRECIOUS: deps/%.d
 
--include $(patsubst %,deps/%.d,$(basename $(VMSRC)))
+-include $(patsubst %,deps/%.d,$(notdir $(basename $(VMSRC))))

Modified: branches/Cog/build.macos64x64/common/Makefile.vm
===================================================================
--- branches/Cog/build.macos64x64/common/Makefile.vm	2016-02-12 00:14:11 UTC (rev 3588)
+++ branches/Cog/build.macos64x64/common/Makefile.vm	2016-02-12 19:32:34 UTC (rev 3589)
@@ -30,10 +30,7 @@
 #############################################################################
 # Build directories
 #
-ifndef BASEDIR
-BASEDIR:=.
-endif
-COMMONDIR:=$(BASEDIR)/../common
+COMMONDIR:=../common
 
 ifeq ("$(CONFIGURATION)","assert")
 	BUILD:=buildast
@@ -43,7 +40,7 @@
 	BUILD:=build
 endif
 $(shell mkdir -p deps >/dev/null) # deps is the dependencies directory
-BLDDIR:= $(BASEDIR)/$(BUILD)
+BLDDIR:= $(BUILD)
 OBJDIR:= $(BLDDIR)/vm
 
 # N.B. PLATDIR *must* be a relative path, see -f../../$(shell test -f ...) below
@@ -132,7 +129,6 @@
 svnver:
 	@-echo $(SVNREV)
 
-getversion: $(OSXCOMMONDIR)/version.c $(CROSSDIR)/sqSCCSVersion.h
 getversion: $(OSXCOMMONDIR)/version.c deps/version.d $(CROSSDIR)/sqSCCSVersion.h
 	$(CC) -x c -DVERSION_PROGRAM=1 $(ALLFLAGS) $(INCLUDES) $< -o $@
 	$(POSTCOMPILE)
@@ -181,7 +177,7 @@
 	@echo OBJDIR=$(OBJDIR)
 	@echo LIBS=$(LIBS)
 	@echo BUNDLES=$(BUNDLES)
-	@echo MAKEFILE=$(MAKEFILE)
+	@echo deps=$(patsubst %,deps/%.d,$(notdir $(basename $(VMSRC))))
 	@echo -----------------------------------------------------
 
 print-objects:
@@ -189,7 +185,7 @@
 	@echo VMOBJ=$(VMOBJ)
 	@echo -----------------------------------------------------
 
-vm:	$(OBJDIR)/$(VM)
+#vm:	$(OBJDIR)/$(VM)
 
 $(OBJDIR)/$(VM): $(OBJDIR) $(VMOBJ) $(LIBS)
 	$(CC) -arch $(TARGET_ARCH) -o $(OBJDIR)/version.o $(CFLAGS) $(INCLUDES) $(DEFS) -c $(OSXCOMMONDIR)/version.c
@@ -209,7 +205,7 @@
 #############################################################################
 # Building plugins
 #
-.PHONY: $(OBJDIR)/%.lib $(OBJDIR)/%.bundle %.lib %.bundle
+.PHONY: $(OBJDIR)/%.lib $(OBJDIR)/%.bundle
 
 plugin-makefile = $(shell test -f $(OSXPLUGINSDIR)/$(1)/Makefile && echo $(OSXPLUGINSDIR)/$(1)/Makefile || echo $(COMMONDIR)/Makefile.plugin)
 
@@ -222,8 +218,7 @@
 	$(MAKE) $(MFLAGS) BUILD=$(BUILD) \
 		-f $(call plugin-makefile,$(*F)) MAKEFILE=$(call plugin-makefile,$(*F)) \
 		CONFIGURATION=$(CONFIGURATION) ARCH=$(TARGET_ARCH) \
-		PLATDIR=$(PLATDIR) BASEDIR=$(BASEDIR) \
-		PLUGINSRCDIR=$(PLUGINSRCDIR) VMSRCDIR=$(VMSRCDIR) \
+		PLATDIR=$(PLATDIR) PLUGINSRCDIR=$(PLUGINSRCDIR) VMSRCDIR=$(VMSRCDIR) \
 		LIBNAME=$(*F) COGDEFS="$(COGDEFS)" XDEFS=-DSQUEAK_BUILTIN_PLUGIN \
 		$(PLUGINHACK) \
 		$(OBJDIR)/$(*F).lib
@@ -240,8 +235,7 @@
 	$(MAKE) $(MFLAGS) BUILD=$(BUILD) \
 		-f $(call plugin-makefile,$(*F)) MAKEFILE=$(call plugin-makefile,$(*F)) \
 		CONFIGURATION=$(CONFIGURATION) ARCH=$(TARGET_ARCH) \
-		PLATDIR=$(PLATDIR) BASEDIR=$(BASEDIR) \
-		PLUGINSRCDIR=$(PLUGINSRCDIR) VMSRCDIR=$(VMSRCDIR) \
+		PLATDIR=$(PLATDIR) PLUGINSRCDIR=$(PLUGINSRCDIR) VMSRCDIR=$(VMSRCDIR) \
 		LIBNAME=$(*F) COGDEFS="$(COGDEFS)" \
 		$(PLUGINHACK) \
 		$(OBJDIR)/$(*F).bundle
@@ -250,6 +244,8 @@
 #%.bundle: $(OBJDIR)/%.bundle
 #	make $(MAKEFLAGS) $<
 
+.PRECIOUS: $(OBJDIR)/%.lib $(OBJDIR)/%.bundle
+
 #############################################################################
 # Extra specific dependencies
 #

Modified: branches/Cog/build.macos64x64/squeak.cog.spur/Makefile
===================================================================
--- branches/Cog/build.macos64x64/squeak.cog.spur/Makefile	2016-02-12 00:14:11 UTC (rev 3588)
+++ branches/Cog/build.macos64x64/squeak.cog.spur/Makefile	2016-02-12 19:32:34 UTC (rev 3589)
@@ -4,6 +4,7 @@
 #
 
 VMSRCDIR:= ../../spursrc/vm
+SOURCEFILE:=SqueakV50.sources
 
 # Now include the Makefile proper, which is common to all Mac OS builds.
 #

Modified: branches/Cog/build.macos64x64/squeak.sista.spur/Makefile
===================================================================
--- branches/Cog/build.macos64x64/squeak.sista.spur/Makefile	2016-02-12 00:14:11 UTC (rev 3588)
+++ branches/Cog/build.macos64x64/squeak.sista.spur/Makefile	2016-02-12 19:32:34 UTC (rev 3589)
@@ -4,6 +4,7 @@
 #
 
 VMSRCDIR:= ../../spursistasrc/vm
+SOURCEFILE:=SqueakV50.sources
 
 APPPOST:=overwriteSqueakIcon
 

Modified: branches/Cog/build.macos64x64/squeak.stack.spur/Makefile
===================================================================
--- branches/Cog/build.macos64x64/squeak.stack.spur/Makefile	2016-02-12 00:14:11 UTC (rev 3588)
+++ branches/Cog/build.macos64x64/squeak.stack.spur/Makefile	2016-02-12 19:32:34 UTC (rev 3589)
@@ -4,6 +4,7 @@
 #
 
 VMSRCDIR:= ../../spurstacksrc/vm
+SOURCEFILE:=SqueakV50.sources
 
 # Now include the Makefile proper, which is common to all Mac OS builds.
 #


Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
   - Thu Feb 11 16:11:36 PST 2016
   + Fri Feb 12 11:30:58 PST 2016



More information about the Vm-dev mailing list