Subversion Repositories Kolibri OS

Rev

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

  1. LIBRARY= libsupc++
  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/mingw32/lib
  10.  
  11. export SDK_DIR:= $(abspath ../../../../../sdk)
  12.  
  13. CFLAGS = -U_Win32 -U_WIN32 -U__MINGW32__ -c -O2 -fno-ident -fomit-frame-pointer
  14. CFLAGSCPP = -nostdinc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi
  15. CFLAGSCPP+= -fdiagnostics-show-location=once -ffunction-sections -fdata-sections
  16.  
  17. ARFLAGS= crs
  18.  
  19. GLIBCXX_INCLUDE_DIR= ../include
  20. INCLUDES= -I../include/mingw32 -I../include -I./ -I$(SDK_DIR)/sources/newlib/libc/include
  21.  
  22. DEFINES= -D_GLIBCXX_HAVE_TLS
  23.  
  24. C_COMPILE= $(CC) $(CFLAGS) $(DEFINES) $(INCLUDES)
  25. CXXCOMPILE= $(CPP) $(CFLAGS) $(CFLAGSCPP) $(INCLUDES) $(DEFINES)
  26.  
  27.  
  28. SOURCES =                                       \
  29.         cp-demangle.c \
  30.         array_type_info.cc \
  31.         atexit_arm.cc \
  32.         atexit_thread.cc \
  33.         bad_alloc.cc \
  34.         bad_array_length.cc \
  35.         bad_array_new.cc \
  36.         bad_cast.cc \
  37.         bad_typeid.cc \
  38.         class_type_info.cc \
  39.         del_op.cc \
  40.         del_ops.cc \
  41.         del_opnt.cc \
  42.         del_opv.cc \
  43.         del_opvs.cc \
  44.         del_opvnt.cc \
  45.         dyncast.cc \
  46.         eh_alloc.cc \
  47.         eh_arm.cc \
  48.         eh_aux_runtime.cc \
  49.         eh_call.cc \
  50.         eh_catch.cc \
  51.         eh_exception.cc \
  52.         eh_globals.cc \
  53.         eh_personality.cc \
  54.         eh_ptr.cc \
  55.         eh_term_handler.cc \
  56.         eh_terminate.cc \
  57.         eh_tm.cc \
  58.         eh_throw.cc \
  59.         eh_type.cc \
  60.         eh_unex_handler.cc \
  61.         enum_type_info.cc \
  62.         function_type_info.cc \
  63.         fundamental_type_info.cc \
  64.         guard.cc \
  65.         guard_error.cc \
  66.         hash_bytes.cc \
  67.         nested_exception.cc \
  68.         new_handler.cc \
  69.         new_op.cc \
  70.         new_opnt.cc \
  71.         new_opv.cc \
  72.         new_opvnt.cc \
  73.         pbase_type_info.cc \
  74.         pmem_type_info.cc \
  75.         pointer_type_info.cc \
  76.         pure.cc \
  77.         si_class_type_info.cc \
  78.         tinfo.cc \
  79.         tinfo2.cc \
  80.         vec.cc \
  81.         vmi_class_type_info.cc \
  82.         vterminate.cc
  83.  
  84.  
  85. OBJECTS =  $(patsubst %.cc, %.o, $(patsubst %.c, %.o, $(SOURCES)))
  86.  
  87. # targets
  88.  
  89. all:$(LIBRARY).a
  90.  
  91. $(LIBRARY).a: $(OBJECTS) Makefile
  92.         $(AR) $(ARFLAGS) $(LIBRARY).a $(OBJECTS)
  93.         mv -f $(LIBRARY).a $(INSTALLDIR)
  94.  
  95.  
  96.  
  97. %.o : %.cc Makefile
  98.         $(CXXCOMPILE) -o $@ $<
  99.  
  100.  
  101. cp-demangle.o: cp-demangle.c
  102.         $(C_COMPILE) -DHAVE_CONFIG_H -D_USE_32BIT_TIME_T -DIN_GLIBCPP_V3 -Wno-error -o $@ $<
  103.  
  104. bad_array_length.o: bad_array_length.cc
  105.         $(CXXCOMPILE) -std=gnu++11 -o $@ $<
  106.  
  107. bad_array_new.o: bad_array_new.cc
  108.         $(CXXCOMPILE) -std=gnu++11 -o $@ $<
  109.  
  110. eh_aux_runtime.o: eh_aux_runtime.cc
  111.         $(CXXCOMPILE) -std=gnu++11 -o $@ $<
  112.  
  113. eh_ptr.o: eh_ptr.cc
  114.         $(CXXCOMPILE) -std=gnu++11 -o $@ $<
  115.  
  116. eh_terminate.o: eh_terminate.cc
  117.         $(CXXCOMPILE) -std=gnu++11 -o $@ $<
  118.  
  119. eh_throw.o: eh_throw.cc
  120.         $(CXXCOMPILE) -std=gnu++11 -o $@ $<
  121.  
  122. guard.o: guard.cc
  123.         $(CXXCOMPILE) -std=gnu++11 -o $@ $<
  124.  
  125. atexit_thread.o: atexit_thread.cc
  126.         $(CXXCOMPILE) -std=gnu++11 -o $@ $<
  127.  
  128. nested_exception.o: nested_exception.cc
  129.         $(CXXCOMPILE) -std=gnu++11 -o $@ $<
  130.  
  131. new_handler.o: new_handler.cc
  132.         $(CXXCOMPILE) -std=gnu++11 -o $@ $<
  133.  
  134. new_op.o: new_op.cc
  135.         $(CXXCOMPILE) -std=gnu++11 -o $@ $<
  136.  
  137. new_opnt.o: new_opnt.cc
  138.         $(CXXCOMPILE) -std=gnu++11 -o $@ $<
  139.  
  140. del_ops.o: del_ops.cc
  141.         $(CXXCOMPILE) -std=gnu++14 -o $@ $<
  142.  
  143. del_opvs.o: del_opvs.cc
  144.         $(CXXCOMPILE) -std=gnu++14 -o $@ $<
  145.  
  146.  
  147. clean:
  148.         -rm -f *.o
  149.  
  150.