Files
loongoffice/odk/examples/java/Storage/Makefile
Stephan Bergmann 5051209534 Adapt SDK to usage of msvcrtd for Windows --enable-dbgutil
* Re-use existing settings/dk.mk to tunnel ENABLE_DEBUG into the SDK.  Turns out
  this was explicitly included in ~all examples Makefiles, but only after
  settings.mk where it is now used, so include it in settings.mk now and dropped
  it from all the exmaples Makefiles.

* The old settings.mk was apparently confused with using /MT ("link with
  LIBCMT.LIB") on cl command line and /MD ("link with MSVCRT.LIB") on link
  command line (where it was ignored), and you apparently can't pass both
  together to cl, so I settled on /MD (resp. /MDd) now and dropped /MT (resp.
  /MTd).  No idea if that is exactly right, however.

* Introduced client-facing LIBO_SDK_LDFLAGS_STDLIBS that covers kernel32.lib and
  msvcrt.lib vs. msvcrtd.lib on Windows.  Adapted examples Makefiles and
  /ure/source/uretest/Makefile accordingly.  Some examples Makefiles
  additionally use msvcprt.lib, no idea whether that still needs to be
  addressed.

Change-Id: Ia8d9d177e415abfbaf6f9fa6239f0ef9998868be
2013-04-19 14:02:18 +02:00

76 lines
2.2 KiB
Makefile

#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# This file incorporates work covered by the following license notice:
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed
# with this work for additional information regarding copyright
# ownership. The ASF licenses this file to you under the Apache
# License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 .
#
# Builds the Java Storage test example of the SDK.
PRJ=../../..
SETTINGS=$(PRJ)/settings
include $(SETTINGS)/settings.mk
include $(SETTINGS)/std.mk
# Define non-platform/compiler specific settings
COMPONENT_NAME=JavaStorageTestExample
OUT_COMP_CLASS = $(OUT_CLASS)/$(COMPONENT_NAME)
JAVAFILES = \
StorageFunctionality.java \
TestHelper.java \
StorageTest.java \
Test01.java \
Test02.java \
Test03.java \
Test04.java \
Test05.java \
Test06.java \
Test07.java \
Test08.java \
Test09.java
CLASSFILES = $(patsubst %.java,$(OUT_COMP_CLASS)/%.class,$(JAVAFILES))
SDK_CLASSPATH = $(subst $(EMPTYSTRING) $(PATH_SEPARATOR),$(PATH_SEPARATOR),$(CLASSPATH)\
$(PATH_SEPARATOR)$(OUT_COMP_CLASS))
# Targets
.PHONY: ALL
ALL : \
JavaStorageTestExample
include $(SETTINGS)/stdtarget.mk
$(CLASSFILES) : $(JAVAFILES)
-$(MKDIR) $(subst /,$(PS),$(@D))
$(SDK_JAVAC) $(JAVAC_FLAGS) -classpath "$(SDK_CLASSPATH)" -d $(OUT_COMP_CLASS) $(JAVAFILES)
JavaStorageTestExample : $(CLASSFILES)
@echo --------------------------------------------------------------------------------
@echo Please use following command to execute the example!
@echo ------
@echo $(MAKE) StorageFunctionality.run
@echo --------------------------------------------------------------------------------
%.run: $(OUT_COMP_CLASS)/%.class
$(SDK_JAVA) -classpath "$(SDK_CLASSPATH)" $(basename $@)
.PHONY: clean
clean :
-$(DELRECURSIVE) $(subst /,$(PS),$(OUT_COMP_CLASS))