Subversion Repositories Kolibri OS

Rev

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

Rev Author Line No. Line
8517 maxcodehac 1
NAME = kpm
5725 serge 2
 
8517 maxcodehac 3
FASM = fasm
5725 serge 4
CC = kos32-gcc
5
AR = kos32-ar
6
LD = kos32-ld
8517 maxcodehac 7
CPP = kos32-g++
5725 serge 8
STRIP = kos32-strip
9
 
5809 serge 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
5725 serge 11
ARFLAG = crs
12
 
8517 maxcodehac 13
SDK_DIR = $(abspath ../../sdk)
14
LIB_DIR = $(SDK_DIR)/lib
5725 serge 15
 
8517 maxcodehac 16
INCLUDES = -I. -I$(SDK_DIR)/sources/newlib/libc/include
17
INCLUDES += -I$(SDK_DIR)/sources/freetype/include
5725 serge 18
 
5809 serge 19
#DEFINES= -DDEBUG=1 -D_7ZIP_PPMD_SUPPPORT
5725 serge 20
 
8517 maxcodehac 21
DEFINES = -DNDEBUG
5725 serge 22
 
8517 maxcodehac 23
LIBS = -liberty -lsupc++ -lgcc -lc.dll
5809 serge 24
 
8517 maxcodehac 25
LIBPATH = -L$(LIB_DIR) -L/home/autobuild/tools/win32/mingw32/lib
5725 serge 26
 
8517 maxcodehac 27
LDFLAGS = -static -nostdlib --stack 0x10000 -Map kpm.map -T$(SDK_DIR)/sources/newlib/app.lds --image-base 0 --subsystem native
5725 serge 28
 
8517 maxcodehac 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)
5725 serge 55
 
8517 maxcodehac 56
OBJECTS = $(patsubst %.asm, %.o, $(patsubst %.cpp, %.o, $(patsubst %.c, %.o, $(SOURCES))))
5725 serge 57
 
5809 serge 58
# targets
5725 serge 59
 
8517 maxcodehac 60
all: $(NAME)
5725 serge 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
5809 serge 70
	$(CPP) $(CFLAGS) -fno-rtti -fno-exceptions $(DEFINES) $(INCLUDES) -o $@ $<
5725 serge 71
 
72
%.o : %.asm Makefile
73
	$(FASM) $< $@
74
 
75
 
76
clean:
8517 maxcodehac 77
	-rm -f *.o */*.o
5725 serge 78
 
79
 
80
 
81