Subversion Repositories Kolibri OS

Rev

Rev 5728 | Rev 5809 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1.  
  2. NAME= kpm
  3.  
  4. FASM= fasm.exe
  5. CC = kos32-gcc
  6. AR = kos32-ar
  7. LD = kos32-ld
  8. CPP= kos32-g++
  9. STRIP = kos32-strip
  10.  
  11. CFLAGS = -U_Win32 -U_WIN32 -U__MINGW32__ -c -Os -fno-ident -fomit-frame-pointer  -mno-ms-bitfields
  12. ARFLAG = crs
  13.  
  14. SDK_DIR:= $(abspath ../../sdk)
  15. LIB_DIR:= $(SDK_DIR)/lib
  16.  
  17. INCLUDES= -I. -I$(SDK_DIR)/sources/newlib/libc/include
  18. INCLUDES+=-I$(SDK_DIR)/sources/freetype/include
  19.  
  20. #DEFINES= -DDEBUG=1
  21.  
  22. DEFINES= -DNDEBUG
  23. LIBS:= -liberty -lsupc++ -lgcc_eh -lc.dll -lapp -lgcc
  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
  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.                 7z/Alloc.c                      \
  55.                 $(NULL)
  56.  
  57. OBJECTS =  $(patsubst %.asm, %.o, $(patsubst %.cpp, %.o, $(patsubst %.c, %.o, $(SOURCES))))
  58.  
  59. # targets
  60.  
  61. all:$(NAME)
  62.  
  63. $(NAME): $(OBJECTS) Makefile
  64.         $(LD) $(LDFLAGS) $(LIBPATH) -o $@ $(OBJECTS) $(LIBS)
  65.         kos32-objcopy $@ -O binary
  66.  
  67. %.o : %.c Makefile
  68.         $(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -o $@ $<
  69.  
  70. %.o : %.cpp Makefile
  71.         $(CPP) $(CFLAGS) $(DEFINES) $(INCLUDES) -o $@ $<
  72.  
  73. %.o : %.asm Makefile
  74.         $(FASM) $< $@
  75.  
  76.  
  77. clean:
  78.         -rm -f *.o
  79.  
  80.  
  81.  
  82.  
  83.