Subversion Repositories Kolibri OS

Rev

Rev 6325 | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. LIBRARY= libstdc++
  2.  
  3. CC = kos32-gcc
  4. AR = kos32-ar
  5. LD = kos32-ld
  6. CPP= kos32-g++
  7. STRIP = kos32-strip
  8.  
  9. INSTALLDIR:= /home/autobuild/tools/win32/lib
  10.  
  11. CFLAGS = -U_Win32 -U_WIN32 -U__MINGW32__ -c -O2 -fno-ident -fomit-frame-pointer -ffunction-sections -fdata-sections
  12. CFLAGS+= -fno-rtti -fno-exceptions
  13.  
  14. ARFLAGS= crs
  15.  
  16. INCLUDES= -I./include/mingw32 -I./include -I../newlib/libc/include
  17.  
  18. LIBS:=  -ldll -lc.dll
  19.  
  20. DEFINES= -DHAVE_CONFIG_H -DIN_GCC -DUSE_EMUTLS=1 -D_GLIBCXX_HAVE_TLS
  21.  
  22. host_sources = \
  23.         src/c++98/atomicity.cc                  \
  24.         src/c++98/codecvt_members.cc            \
  25.         src/c++98/collate_members.cc            \
  26.         src/c++98/ctype_configure_char.cc       \
  27.         src/c++98/ctype_members.cc              \
  28.         src/c++98/messages_members.cc           \
  29.         src/c++98/monetary_members.cc           \
  30.         src/c++98/numeric_members.cc            \
  31.         src/c++98/time_members.cc
  32.  
  33. inst_sources = \
  34.         src/c++98/allocator-inst.cc \
  35.         src/c++98/concept-inst.cc \
  36.         src/c++98/ext-inst.cc \
  37.         src/c++98/ios-inst.cc \
  38.         src/c++98/iostream-inst.cc \
  39.         src/c++98/istream-inst.cc \
  40.         src/c++98/locale-inst.cc \
  41.         src/c++98/misc-inst.cc \
  42.         src/c++98/ostream-inst.cc \
  43.         src/c++98/sstream-inst.cc \
  44.         src/c++98/streambuf-inst.cc \
  45.         src/c++98/wlocale-inst.cc
  46.  
  47. parallel_sources = src/c++98/parallel_settings.cc
  48.  
  49. host_sources_extra = \
  50.         src/c++98/basic_file.cc \
  51.         src/c++98/c++locale.cc  \
  52.         ${inst_sources} ${parallel_sources}
  53.  
  54. C++98SRCS = \
  55.         src/c++98/bitmap_allocator.cc           \
  56.         src/c++98/pool_allocator.cc             \
  57.         src/c++98/mt_allocator.cc               \
  58.         src/c++98/codecvt.cc                    \
  59.         src/c++98/complex_io.cc                 \
  60.         src/c++98/ctype.cc                      \
  61.         src/c++98/globals_io.cc                 \
  62.         src/c++98/hash_tr1.cc                   \
  63.         src/c++98/hashtable_tr1.cc              \
  64.         src/c++98/ios.cc                        \
  65.         src/c++98/ios_failure.cc                \
  66.         src/c++98/ios_init.cc                   \
  67.         src/c++98/ios_locale.cc                 \
  68.         src/c++98/list.cc                       \
  69.         src/c++98/list-aux.cc                   \
  70.         src/c++98/list-aux-2.cc                 \
  71.         src/c++98/list_associated.cc            \
  72.         src/c++98/list_associated-2.cc          \
  73.         src/c++98/locale.cc                     \
  74.         src/c++98/locale_init.cc                \
  75.         src/c++98/locale_facets.cc              \
  76.         src/c++98/localename.cc                 \
  77.         src/c++98/math_stubs_float.cc           \
  78.         src/c++98/math_stubs_long_double.cc     \
  79.         src/c++98/stdexcept.cc                  \
  80.         src/c++98/strstream.cc                  \
  81.         src/c++98/tree.cc                       \
  82.         src/c++98/istream.cc                    \
  83.         src/c++98/streambuf.cc                  \
  84.         src/c++98/valarray.cc                   \
  85.         ${host_sources}                         \
  86.         ${host_sources_extra}
  87.  
  88. inst11_sources = \
  89.         src/c++11/fstream-inst.cc \
  90.         src/c++11/string-inst.cc \
  91.         src/c++11/wstring-inst.cc
  92.  
  93. C++11SRCS = \
  94.         src/c++11/chrono.cc                     \
  95.         src/c++11/condition_variable.cc         \
  96.         src/c++11/debug.cc                      \
  97.         src/c++11/functexcept.cc                \
  98.         src/c++11/functional.cc                 \
  99.         src/c++11/future.cc                     \
  100.         src/c++11/hash_c++0x.cc                 \
  101.         src/c++11/hashtable_c++0x.cc            \
  102.         src/c++11/limits.cc                     \
  103.         src/c++11/mutex.cc                      \
  104.         src/c++11/placeholders.cc               \
  105.         src/c++11/random.cc                     \
  106.         src/c++11/regex.cc                      \
  107.         src/c++11/shared_ptr.cc                 \
  108.         src/c++11/system_error.cc               \
  109.         ${inst11_sources}
  110.  
  111. compat_sources = \
  112.         src/c++98/compatibility.cc                      \
  113.         src/c++98/compatibility-debug_list.cc           \
  114.         src/c++98/compatibility-debug_list-2.cc         \
  115.         src/c++11/compatibility-c++0x.cc                \
  116.         src/c++11/compatibility-atomic-c++0x.cc         \
  117.         src/c++11/compatibility-thread-c++0x.cc         \
  118.         src/c++11/compatibility-chrono.cc
  119.  
  120. OBJ98 =  $(patsubst %.cc, %.o, $(patsubst %.c, %.o, $(C++98SRCS)))
  121.  
  122. OBJ11 =  $(patsubst %.cc, %.o, $(patsubst %.c, %.o, $(C++11SRCS)))
  123.  
  124. com_obj =  $(patsubst %.cc, %.o, $(patsubst %.c, %.o, $(compat_sources)))
  125.  
  126. # targets
  127.  
  128. all:$(LIBRARY).a
  129.  
  130. $(LIBRARY).a: $(OBJ98) $(OBJ11) $(com_obj) Makefile
  131.         $(AR) $(ARFLAGS) $(LIBRARY).a $(OBJ98) $(OBJ11) $(com_obj)
  132.         mv -f $(LIBRARY).a $(INSTALLDIR)
  133.  
  134. %.o : %.c Makefile
  135.         $(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -o $@ $<
  136.  
  137. %.o : %.cc Makefile
  138.         $(CPP) $(CFLAGS) $(DEFINES) $(INCLUDES) -o $@ $<
  139.  
  140. src/c++98/strstream.o: src/c++98/strstream.cc Makefile
  141.         $(CPP) $(CFLAGS) -Wno-deprecated $(DEFINES) $(INCLUDES) -o $@ $<
  142.  
  143. src/c++98/allocator-inst.o: src/c++98/allocator-inst.cc Makefile
  144.         $(CPP) $(CFLAGS) -fno-implicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
  145.  
  146. src/c++98/concept-inst.o: src/c++98/concept-inst.cc Makefile
  147.         $(CPP) $(CFLAGS) -D_GLIBCXX_CONCEPT_CHECKS -fimplicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
  148.  
  149. src/c++98/ext-inst.o: src/c++98/ext-inst.cc Makefile
  150.         $(CPP) $(CFLAGS) -fno-implicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
  151.  
  152. src/c++98/ios-inst.o: src/c++98/ios-inst.cc Makefile
  153.         $(CPP) $(CFLAGS) -fno-implicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
  154.  
  155. src/c++98/iostream-inst.o: src/c++98/iostream-inst.cc Makefile
  156.         $(CPP) $(CFLAGS) -fno-implicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
  157.  
  158. src/c++98/istream-inst.o: src/c++98/istream-inst.cc Makefile
  159.         $(CPP) $(CFLAGS) -fno-implicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
  160.  
  161. src/c++98/locale-inst.o: src/c++98/locale-inst.cc Makefile
  162.         $(CPP) $(CFLAGS) -fno-implicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
  163.  
  164. src/c++98/misc-inst.o: src/c++98/misc-inst.cc Makefile
  165.         $(CPP) $(CFLAGS) -fno-implicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
  166.  
  167. src/c++98/ostream-inst.o: src/c++98/ostream-inst.cc Makefile
  168.         $(CPP) $(CFLAGS) -fno-implicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
  169.  
  170. src/c++98/sstream-inst.o: src/c++98/sstream-inst.cc Makefile
  171.         $(CPP) $(CFLAGS) -fno-implicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
  172.  
  173. src/c++98/streambuf-inst.o: src/c++98/streambuf-inst.cc Makefile
  174.         $(CPP) $(CFLAGS) -fno-implicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
  175.  
  176. src/c++98/wlocale-inst.o: src/c++98/wlocale-inst.cc Makefile
  177.         $(CPP) $(CFLAGS) -fno-implicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
  178.  
  179. src/c++98/parallel_settings.o: src/c++98/parallel_settings.cc Makefile
  180.         $(CPP) $(CFLAGS) -D_GLIBCXX_PARALLEL $(DEFINES) $(INCLUDES) -o $@ $<
  181.  
  182. src/c++11/chrono.o: src/c++11/chrono.cc
  183.         $(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
  184.  
  185. src/c++11/condition_variable.o: src/c++11/condition_variable.cc
  186.         $(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
  187.  
  188. src/c++11/debug.o: src/c++11/debug.cc
  189.         $(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
  190.  
  191. src/c++11/functexcept.o: src/c++11/functexcept.cc
  192.         $(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
  193.  
  194. src/c++11/functional.o: src/c++11/functional.cc
  195.         $(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
  196.  
  197. src/c++11/future.o: src/c++11/future.cc
  198.         $(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
  199.  
  200. src/c++11/hash_c++0x.o: src/c++11/hash_c++0x.cc
  201.         $(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
  202.  
  203. src/c++11/hashtable_c++0x.o: src/c++11/hashtable_c++0x.cc
  204.         $(CPP) $(CFLAGS) -std=gnu++11 -fimplicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
  205.  
  206. src/c++11/limits.o: src/c++11/limits.cc
  207.         $(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
  208.  
  209. src/c++11/mutex.o: src/c++11/mutex.cc          
  210.         $(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
  211.  
  212. src/c++11/placeholders.o: src/c++11/placeholders.cc    
  213.         $(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
  214.  
  215. src/c++11/random.o: src/c++11/random.cc                
  216.         $(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
  217.  
  218. src/c++11/regex.o: src/c++11/regex.cc          
  219.         $(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
  220.  
  221. src/c++11/shared_ptr.o: src/c++11/shared_ptr.cc
  222.         $(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
  223.  
  224. src/c++11/system_error.o: src/c++11/system_error.cc    
  225.         $(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
  226.  
  227. src/c++11/thread.o: src/c++11/thread.cc
  228.         $(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
  229.  
  230. src/c++11/fstream-inst.o: src/c++11/fstream-inst.cc
  231.         $(CPP) $(CFLAGS) -std=gnu++11 -fno-implicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
  232.  
  233. src/c++11/string-inst.o: src/c++11/string-inst.cc
  234.         $(CPP) $(CFLAGS) -std=gnu++11 -fno-implicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
  235.  
  236. src/c++11/wstring-inst.o: src/c++11/wstring-inst.cc
  237.         $(CPP) $(CFLAGS) -std=gnu++11 -fno-implicit-templates $(DEFINES) $(INCLUDES) -o $@ $<
  238.  
  239. src/c++11/compatibility-c++0x.o: src/c++11/compatibility-c++0x.cc
  240.         $(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
  241.  
  242. src/c++11/compatibility-atomic-c++0x.o: src/c++11/compatibility-atomic-c++0x.cc
  243.         $(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
  244.  
  245. src/c++11/compatibility-thread-c++0x.o: src/c++11/compatibility-thread-c++0x.cc
  246.         $(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
  247.  
  248. src/c++11/compatibility-chrono.o: src/c++11/compatibility-chrono.cc
  249.         $(CPP) $(CFLAGS) -std=gnu++11 $(DEFINES) $(INCLUDES) -o $@ $<
  250.  
  251. clean:
  252.         -rm -f *.o
  253.  
  254.