From 59458a6380959de543bc3928b2bb7f87c91f87a9 Mon Sep 17 00:00:00 2001 From: "Sergey Semyonov (Serge)" Date: Mon, 18 Jan 2016 02:50:45 +0000 Subject: [PATCH] sdk: most well-known program in the world git-svn-id: svn://kolibrios.org@6071 a494cfbc-eb01-0410-851d-a64ba20cac60 --- contrib/sdk/samples/cairo/Makefile.static | 30 +++++++++++++++++++++++ contrib/sdk/samples/hello/Makefile.shared | 26 ++++++++++++++++++++ contrib/sdk/samples/hello/Makefile.static | 27 ++++++++++++++++++++ contrib/sdk/samples/hello/hello.c | 9 +++++++ 4 files changed, 92 insertions(+) create mode 100644 contrib/sdk/samples/cairo/Makefile.static create mode 100644 contrib/sdk/samples/hello/Makefile.shared create mode 100644 contrib/sdk/samples/hello/Makefile.static create mode 100644 contrib/sdk/samples/hello/hello.c diff --git a/contrib/sdk/samples/cairo/Makefile.static b/contrib/sdk/samples/cairo/Makefile.static new file mode 100644 index 0000000000..492bdc4992 --- /dev/null +++ b/contrib/sdk/samples/cairo/Makefile.static @@ -0,0 +1,30 @@ +CC = kos32-gcc +LD = kos32-ld + +SDK_DIR:= $(abspath ../..) + +LDFLAGS = -static -nostdlib -T $(SDK_DIR)/sources/newlib/static.lds + +CFLAGS = -c -fno-ident -O2 -fomit-frame-pointer -fno-ident -U__WIN32__ -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32 + +INCLUDES= -I $(SDK_DIR)/sources/newlib/libc/include -I $(SDK_DIR)/sources/cairo/src -I $(SDK_DIR)/sources/freetype/include +LIBPATH:= -L $(SDK_DIR)/lib -L /home/autobuild/tools/win32/mingw32/lib + +SOURCES = cairo.c \ + $(NULL) + + +OBJECTS = $(patsubst %.c, %.o, $(SOURCES)) + +default: cairo + +cairo: $(OBJECTS) Makefile + $(LD) $(LDFLAGS) $(LIBPATH) -o cairo $(OBJECTS) -lcairo2 -lpixman-1 -lfreetype -lc -lgcc -lc + objcopy cairo -O binary + +%.o : %.c Makefile $(SOURCES) + $(CC) $(CFLAGS) $(INCLUDES) -o $@ $< + +%.o : %.asm Makefile + $(FASM) $< $@ + diff --git a/contrib/sdk/samples/hello/Makefile.shared b/contrib/sdk/samples/hello/Makefile.shared new file mode 100644 index 0000000000..039feb5571 --- /dev/null +++ b/contrib/sdk/samples/hello/Makefile.shared @@ -0,0 +1,26 @@ +CC = kos32-gcc +LD = kos32-ld + +SDK_DIR:= $(abspath ../..) + +LDFLAGS = -static -S -nostdlib -T $(SDK_DIR)/sources/newlib/app.lds --image-base 0 + +CFLAGS = -c -fno-ident -O2 -fomit-frame-pointer -U__WIN32__ -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32 + +INCLUDES= -I $(SDK_DIR)/sources/newlib/libc/include +LIBPATH:= -L $(SDK_DIR)/lib -L /home/autobuild/tools/win32/mingw32/lib + +SOURCES = hello.c \ + $(NULL) + + +OBJECTS = $(patsubst %.c, %.o, $(SOURCES)) + +default: hello + +hello: $(OBJECTS) Makefile + $(LD) $(LDFLAGS) $(LIBPATH) -o hello $(OBJECTS) -lgcc -lc.dll -lapp + objcopy hello -O binary + +%.o : %.c Makefile $(SOURCES) + $(CC) $(CFLAGS) $(INCLUDES) -o $@ $< diff --git a/contrib/sdk/samples/hello/Makefile.static b/contrib/sdk/samples/hello/Makefile.static new file mode 100644 index 0000000000..23a384df22 --- /dev/null +++ b/contrib/sdk/samples/hello/Makefile.static @@ -0,0 +1,27 @@ +CC = kos32-gcc +LD = kos32-ld + +SDK_DIR:= $(abspath ../..) + +LDFLAGS = -static -nostdlib -T $(SDK_DIR)/sources/newlib/static.lds + +CFLAGS = -c -fno-ident -O2 -fomit-frame-pointer -U__WIN32__ -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32 + +INCLUDES= -I $(SDK_DIR)/sources/newlib/libc/include +LIBPATH:= -L $(SDK_DIR)/lib -L /home/autobuild/tools/win32/mingw32/lib + +SOURCES = hello.c \ + $(NULL) + + +OBJECTS = $(patsubst %.c, %.o, $(SOURCES)) + +default: hello + +hello: $(OBJECTS) Makefile.static + $(LD) $(LDFLAGS) $(LIBPATH) -o hello $(OBJECTS) -lc -lgcc -lc + objcopy hello -O binary + +%.o : %.c Makefile.static $(SOURCES) + $(CC) $(CFLAGS) $(INCLUDES) -o $@ $< + diff --git a/contrib/sdk/samples/hello/hello.c b/contrib/sdk/samples/hello/hello.c new file mode 100644 index 0000000000..7f2278e618 --- /dev/null +++ b/contrib/sdk/samples/hello/hello.c @@ -0,0 +1,9 @@ +#include + +int main(int argc, char *argv[]) +{ + + printf("Hello, world!\n"); + + return 0; +};