1## -*-makefile-*- 2## Copyright (C) 2016 and later: Unicode, Inc. and others. 3## License & terms of use: http://www.unicode.org/copyright.html 4## haiku-specific setup 5## Copyright (c) 2010-2012, International Business Machines Corporation and 6## others. All Rights Reserved. 7## 8 9## Commands to generate dependency files 10GEN_DEPS.c= $(CC) -E -MM $(DEFS) $(CPPFLAGS) 11GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS) 12 13## Flags for position independent code 14SHAREDLIBCFLAGS = -fPIC 15SHAREDLIBCXXFLAGS = -fPIC 16SHAREDLIBCPPFLAGS = -DPIC 17 18## Additional flags when building libraries and with threads 19LIBCPPFLAGS = 20THREADSCPPFLAGS = 21 22# 23CPPFLAGS += -D__STDC_ISO_10646__ -DU_CHARSET_IS_UTF8=1 24 25## Compiler switch to embed a runtime search path 26LD_RPATH= 27LD_RPATH_PRE = -Wl,-rpath, 28 29## Compiler switch to embed a library name 30LD_SONAME = -Wl,-soname -Wl,$(notdir $(MIDDLE_SO_TARGET)) 31 32## Shared object suffix 33SO = so 34## Non-shared intermediate object suffix 35STATIC_O = ao 36 37## Compilation rules 38%.$(STATIC_O): $(srcdir)/%.c 39 $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $< 40%.o: $(srcdir)/%.c 41 $(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) -o $@ $< 42 43%.$(STATIC_O): $(srcdir)/%.cpp 44 $(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS) -o $@ $< 45%.o: $(srcdir)/%.cpp 46 $(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) -o $@ $< 47 48 49## Dependency rules 50%.d: $(srcdir)/%.c 51 @echo "generating dependency information for $<" 52 @$(SHELL) -ec '$(GEN_DEPS.c) $< \ 53 | sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \ 54 [ -s $@ ] || rm -f $@' 55 56%.d: $(srcdir)/%.cpp 57 @echo "generating dependency information for $<" 58 @$(SHELL) -ec '$(GEN_DEPS.cc) $< \ 59 | sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \ 60 [ -s $@ ] || rm -f $@' 61 62## Versioned libraries rules 63 64%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION) 65 $(RM) $@ && ln -s ${<F} $@ 66%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR) 67 $(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@ 68 69## Bind internal references 70 71# LDflags that pkgdata will use 72BIR_LDFLAGS= -Wl,-Bsymbolic 73 74# Dependencies [i.e. map files] for the final library 75BIR_DEPS= 76 77# Use LIBRARY_PATH instead of LD_LIBRARY_PATH 78LDLIBRARYPATH_ENVVAR= LIBRARY_PATH 79 80## End haiku-specific setup 81