Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  mh-mingw

  Sprache: C
 

## -*-makefile-*-
## Copyright (C) 2016 and later: Unicode, Inc. and others.
## License & terms of use: http://www.unicode.org/copyright.html
## Cygwin/MinGW specific setup
## Copyright (c) 2001-2014, International Business Machines Corporation and
## others. All Rights Reserved.

TODO: Finish the rest of this port. This platform port is incomplete.

This file is similar to mh-mingw64
Any changes made here may also need to be made in mh-mingw64

On Windows we generally have the DLLs in the bin directory rather than the lib directory.
This setting moves the ICU DLLs into the bin folder for MinGW/MSYS2 when "make install" is run.
If you prefer to have the DLLs in the lib folder, then set this to NO instead.
MINGW_MOVEDLLSTOBINDIR = YES

We install sbin tools into the same bin directory because
pkgdata needs some of the tools in sbin, and we can't always depend on
icu-config working on Windows.
sbindir=$(bindir)

## Commands to generate dependency files
GEN_DEPS.c= $(CC) -E -MM $(DEFS) $(CPPFLAGS)
GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS)

## Flags to create/use a static library
ifneq ($(ENABLE_SHARED),YES)
## Make sure that the static libraries can be built and used
CPPFLAGS += -DU_STATIC_IMPLEMENTATION
else
## Make sure that the static libraries can be built
STATICCPPFLAGS = -DU_STATIC_IMPLEMENTATION
endif

## ICU requires a minimum target of Windows 7, and MinGW does not set this by default.
## https://msdn.microsoft.com/en-us/library/aa383745.aspx
CPPFLAGS += -DWINVER=0x0601 -D_WIN32_WINNT=0x0601

## Flags for position independent code
SHAREDLIBCFLAGS = 
SHAREDLIBCXXFLAGS = 
SHAREDLIBCPPFLAGS = -DPIC

## Additional flags when building libraries and with threads
THREADSCFLAGS = -mthreads
THREADSCXXFLAGS = -mthreads
LIBCPPFLAGS =

## Add 'd' suffix to the names of binary files with Debug configuration
ifeq ($(ENABLE_DEBUG),1)
ICULIBSUFFIX:=$(ICULIBSUFFIX)d#Mjava.lang.NullPointerException
endif

Commands to link. Link with C++ in case static libraries are used.
LINK.c=       $(CXX) $(CXXFLAGS) $(LDFLAGS)
#LINK.cc=      $(CXX) $(CXXFLAGS) $(LDFLAGS)

## Shared library options
LD_SOOPTIONS=

## Commands to make a shared library
SHLIB.c= $(CC) $(CFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS) -Wl,--enable-auto-import -Wl,--out-implib=$(dir $@)lib$(notdir $(@:$(SO_TARGET_VERSION_MAJOR).$(SO)=))$(IMPORT_LIB_EXT)#Mjava.lang.NullPointerException
SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(LD_SOOPTIONS) -Wl,--enable-auto-import -Wl,--out-implib=$(dir $@)lib$(notdir $(@:$(SO_TARGET_VERSION_MAJOR).$(SO)=))$(IMPORT_LIB_EXT)#Mjava.lang.NullPointerException

## Compiler switch to embed a runtime search path
LD_RPATH= 
LD_RPATH_PRE= -Wl,-rpath,

## Compiler switch to embed a library name
LD_SONAME = 

## Shared object suffix
SO = dll
## Non-shared intermediate object suffix
STATIC_O = ao

ifeq ($(ENABLE_SHARED),YES)
SO_TARGET_VERSION_SUFFIX = $(SO_TARGET_VERSION_MAJOR)
else
SO_TARGET_VERSION_SUFFIX = 
endif

Static library prefix and file extension
LIBSICU = $(LIBPREFIX)$(STATIC_PREFIX)$(ICUPREFIX)
A = a

## An import library is needed for z/OS and MSVC
IMPORT_LIB_EXT = .dll.a

LIBPREFIX=lib

Change the stubnames so that poorly working FAT disks and installation programs can work.
This is also for backwards compatibility.
DATA_STUBNAME = dt
I18N_STUBNAME = in
LIBICU = $(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)

#SH##copied from Makefile.inc
#SH## for icu-config to test with
#SH#ICULIBS_COMMON_LIB_NAME="${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}.${SO}"
#SH#ICULIBS_COMMON_LIB_NAME_A="${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}.${A}"

#SH#ICULIBS_DATA="-l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)"
ICULIBS_DT="-l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)"
ICULIBS_I18N="-l$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)"
ICULIBS_LX="-l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(LAYOUTEX_STUBNAME)$(ICULIBSUFFIX)"
ICULIBS_IO="-l$(ICUPREFIX)$(IO_STUBNAME)$(ICULIBSUFFIX)"
ICULIBS_UC="-l$(ICUPREFIX)$(COMMON_STUBNAME)$(ICULIBSUFFIX)"
ICULIBS_CTESTFW="-l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(CTESTFW_STUBNAME)$(ICULIBSUFFIX)"
ICULIBS_TOOLUTIL="-l$(ICUPREFIX)tu$(ICULIBSUFFIX)"
#SHjava.lang.NullPointerException
#SH## ICULIBS is the set of libraries your application should link
#SH## with usually. Many applications will want to add ${ICULIBS_I18N} as well. 
#SH#ICULIBS="${ICULIBS_BASE} ${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA} "

Note: The #Mis used to delete lines for icu-config
MSYS_VERSION ?= $(if $(findstring Msys, $(shell uname -o)),$(word 1, $(subst ., ,$(shell uname -r))),0)#Mjava.lang.NullPointerException
$(info Detected MSYS version: $(MSYS_VERSION))

ifeq ($(MSYS_VERSION),$(filter $(MSYS_VERSION),0 1))
 Older versions of MSYS don't have cygpath by default. #M#
 
 Current full path directory. #Mjava.lang.NullPointerException
 #CURR_FULL_DIR=$(shell pwd -W)#Mfor MSYS
 CURR_FULL_DIR?=$(subst \,/,$(shell cmd /c cd))#Mfor Cygwin shell 

 Current full path directory for use in source code in a -D compiler option. #Mjava.lang.NullPointerException
 #CURR_SRCCODE_FULL_DIR=$(subst /,\\\\,$(shell pwd -W))#Mfor MSYS
 CURR_SRCCODE_FULL_DIR=$(subst \,/,$(shell cmd /c cd))#Mfor Cygwin shell
else
 MSYS2 and up have cygpath by default #Mjava.lang.NullPointerException

 Current full path directory. #Mjava.lang.NullPointerException
 CURR_FULL_DIR?=$(shell cygpath . -a -m)#Mjava.lang.NullPointerException

 Current full path directory for use in source code in a -D compiler option. #Mjava.lang.NullPointerException
 CURR_SRCCODE_FULL_DIR=$(shell cygpath . -a -m)#Mjava.lang.NullPointerException
endif

## Compilation rules
%.$(STATIC_O): $(srcdir)/%.c
 $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $<
%.o: $(srcdir)/%.c
 $(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) -o $@ $<

%.$(STATIC_O): $(srcdir)/%.cpp
 $(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS) -o $@ $<
%.o: $(srcdir)/%.cpp
 $(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) -o $@ $<


## Dependency rules
%.d: $(srcdir)/%.c
 @echo "generating dependency information for $<"
 @echo -n "$@ " > $@
 @$(GEN_DEPS.c) $< >> $@ || (rm -f $@ && FALSE)

%.d: $(srcdir)/%.cpp
 @echo "generating dependency information for $<"
 @echo -n "$@ " > $@
 @$(GEN_DEPS.cc) $< >> $@ || (rm -f $@ && FALSE)

## Versioned target for a shared library.
## Since symbolic links don't work the same way on Windows,
## we only use the version major number.
#FINAL_SO_TARGET=$(basename $(SO_TARGET))$(SO_TARGET_VERSION).$(SO)
FINAL_SO_TARGET=$(basename $(SO_TARGET))$(SO_TARGET_VERSION_MAJOR).$(SO)
MIDDLE_SO_TARGET=$(FINAL_SO_TARGET)

FINAL_IMPORT_LIB = $(dir $(SO_TARGET))lib$(notdir $(basename $(SO_TARGET)))$(IMPORT_LIB_EXT)#Mjava.lang.NullPointerException
IMPORT_LIB = $(FINAL_IMPORT_LIB)#Mjava.lang.NullPointerException
MIDDLE_IMPORT_LIB = $(FINAL_IMPORT_LIB)#Mjava.lang.NullPointerException

## Special pkgdata information that is needed
PKGDATA_VERSIONING = -r $(SO_TARGET_VERSION_MAJOR)

## Versioned libraries rules
#%$(SO_TARGET_VERSION_MAJOR).$(SO): %$(SO_TARGET_VERSION).$(SO)
$(RM) $@ && cp ${<F} $@
%.$(SO): %$(SO_TARGET_VERSION_MAJOR).$(SO)
 @echo -n

Environment variable to set a runtime search path
LDLIBRARYPATH_ENVVAR = PATH

The type of assembly to write for generating an object file
GENCCODE_ASSEMBLY=-a gcc-cygwin

These are needed to allow the pkgdata GNU make files to work
PKGDATA_DEFS = -DU_MAKE=\"$(MAKE)\"

## End Cygwin/MinGW specific setup


Messung V0.5 in Prozent
C=92 H=89 G=90

¤ Dauer der Verarbeitung: 0.10 Sekunden  (vorverarbeitet am  2026-05-07) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge