Subversion Repositories Kolibri OS

Rev

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

  1. NAME = kpm
  2.  
  3. FASM = fasm
  4. CC = kos32-gcc
  5. AR = kos32-ar
  6. LD = kos32-ld
  7. CPP = kos32-g++
  8. STRIP = kos32-strip
  9.  
  10. CFLAGS = -U_Win32 -U_WIN32 -U__MINGW32__ -c -Os -fomit-frame-pointer -fno-asynchronous-unwind-tables -fno-ident -fomit-frame-pointer  -mno-ms-bitfields
  11. ARFLAG = crs
  12.  
  13. SDK_DIR = $(abspath ../../sdk)
  14. LIB_DIR = $(SDK_DIR)/lib
  15.  
  16. INCLUDES = -I. -I$(SDK_DIR)/sources/newlib/libc/include
  17. INCLUDES += -I$(SDK_DIR)/sources/freetype/include
  18.  
  19. #DEFINES= -DDEBUG=1 -D_7ZIP_PPMD_SUPPPORT
  20.  
  21. DEFINES = -DNDEBUG
  22.  
  23. LIBS = -liberty -lsupc++ -lgcc -lc.dll
  24.  
  25. LIBPATH = -L$(LIB_DIR) -L/home/autobuild/tools/win32/mingw32/lib
  26.  
  27. LDFLAGS = -static -nostdlib --stack 0x10000 -Map kpm.map -T$(SDK_DIR)/sources/newlib/app.lds --image-base 0 --subsystem native
  28.  
  29. SOURCES =       http.asm                        \
  30.                         kpm.c                           \
  31.                         utils.c                         \
  32.                         collection.cpp                  \
  33.                         tinyxml/tinyxml.cpp             \
  34.                         tinyxml/tinystr.cpp             \
  35.                         tinyxml/tinyxmlparser.cpp       \
  36.                         tinyxml/tinyxmlerror.cpp        \
  37.                         7z/7z.c                         \
  38.                         7z/7zFile.c                     \
  39.                         7z/7zStream.c                   \
  40.                         7z/7zCrc.c                      \
  41.                         7z/7zCrcOpt.c                   \
  42.                         7z/CpuArch.c                    \
  43.                         7z/7zArcIn.c                    \
  44.                         7z/7zBuf.c                      \
  45.                         7z/7zDec.c                      \
  46.                         7z/LzmaDec.c                    \
  47.                         7z/Lzma2Dec.c                   \
  48.                         7z/Bcj2.c                       \
  49.                         7z/Delta.c                      \
  50.                         7z/Bra.c                        \
  51.                         7z/Bra86.c                      \
  52.                         7z/BraIA64.c                    \
  53.                         7z/7zAlloc.c                    \
  54.                         $(NULL)
  55.  
  56. OBJECTS = $(patsubst %.asm, %.o, $(patsubst %.cpp, %.o, $(patsubst %.c, %.o, $(SOURCES))))
  57.  
  58. # targets  
  59.  
  60. all: $(NAME)
  61.  
  62. $(NAME): $(OBJECTS) Makefile
  63.         $(LD) $(LDFLAGS) $(LIBPATH) -o $@ $(OBJECTS) $(LIBS)
  64.         kos32-objcopy $@ -O binary
  65.  
  66. %.o : %.c Makefile
  67.         $(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -o $@ $<
  68.  
  69. %.o : %.cpp Makefile
  70.         $(CPP) $(CFLAGS) -fno-rtti -fno-exceptions $(DEFINES) $(INCLUDES) -o $@ $<
  71.  
  72. %.o : %.asm Makefile
  73.         $(FASM) $< $@
  74.  
  75.  
  76. clean:
  77.         -rm -f *.o */*.o
  78.  
  79.  
  80.  
  81.  
  82.