forked from KolibriOS/kolibrios
c/c++ samples refactoring
git-svn-id: svn://kolibrios.org@9758 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
4fae618b2c
commit
87d53e5e74
@ -3,25 +3,21 @@ LD = kos32-ld
|
|||||||
|
|
||||||
SDK_DIR = $(abspath ../..)
|
SDK_DIR = $(abspath ../..)
|
||||||
|
|
||||||
LDFLAGS = -static -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 -Wno-pointer-arith
|
||||||
|
LDFLAGS = -static -S -Tapp-dynamic.lds --image-base 0
|
||||||
CFLAGS = -c -fno-ident -O2 -fomit-frame-pointer -fno-ident -U__WIN32__ -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32 -Wno-pointer-arith
|
|
||||||
|
|
||||||
INCLUDES = -I $(SDK_DIR)/sources/newlib/libc/include -I $(SDK_DIR)/sources/libstdc++-v3/include
|
INCLUDES = -I $(SDK_DIR)/sources/newlib/libc/include -I $(SDK_DIR)/sources/libstdc++-v3/include
|
||||||
LIBPATH = -L $(SDK_DIR)/lib -L /home/autobuild/tools/win32/mingw32/lib
|
LIBPATH = -L $(SDK_DIR)/lib
|
||||||
|
|
||||||
SOURCES = hello.cpp \
|
SOURCES = hello.cpp
|
||||||
$(NULL)
|
OBJECTS = $(patsubst %.cpp, %.o, $(SOURCES))
|
||||||
|
|
||||||
OBJECTS = $(patsubst %.cpp, %.o, $(SOURCES))
|
|
||||||
|
|
||||||
default: hello
|
default: hello
|
||||||
|
|
||||||
hello: $(OBJECTS) Makefile
|
hello: $(OBJECTS) Makefile
|
||||||
$(LD) $(LDFLAGS) $(LIBPATH) --subsystem console -o hello.kex $(OBJECTS) -lstdc++ -lsupc++ -lgcc -lc.dll
|
$(LD) $(LDFLAGS) $(LIBPATH) --subsystem console -o hello $(OBJECTS) -lstdc++ -lsupc++ -lgcc -lc.dll
|
||||||
strip -s hello.kex -o hello.kex
|
strip -s hello -o hello
|
||||||
objcopy hello.kex -O binary
|
objcopy hello -O binary
|
||||||
rm *.o
|
|
||||||
|
|
||||||
%.o : %.cpp Makefile $(SOURCES)
|
%.o : %.cpp Makefile $(SOURCES)
|
||||||
$(CC) $(CFLAGS) $(INCLUDES) -o $@ $<
|
$(CC) $(CFLAGS) $(INCLUDES) -o $@ $<
|
||||||
|
@ -1,21 +1,16 @@
|
|||||||
// for 'cout'
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
#include <sys/kos_LoadConsole.h> // to load console.obj
|
||||||
// for 'console.obj' functions
|
|
||||||
#include <sys/kos_LoadConsole.h>
|
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
int main()
|
int main() {
|
||||||
{
|
|
||||||
// load console.obj
|
|
||||||
load_console();
|
load_console();
|
||||||
|
|
||||||
con_set_title("C++ Console.obj example");
|
con_set_title("C++ Console.obj example");
|
||||||
|
|
||||||
cout << "Press any key...\n";
|
cout << "Press any key...\n";
|
||||||
con_getch();
|
con_getch();
|
||||||
cout << "Hello, KolibriOS!\n";
|
cout << "Hello, KolibriOS!\n";
|
||||||
con_set_title("Hello");
|
con_set_title("Hello");
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
21
contrib/sdk/samples/hello/Makefile.shared → contrib/sdk/samples/hello/Makefile
Normal file → Executable file
21
contrib/sdk/samples/hello/Makefile.shared → contrib/sdk/samples/hello/Makefile
Normal file → Executable file
@ -1,26 +1,25 @@
|
|||||||
|
# dynamic linking
|
||||||
|
|
||||||
CC = kos32-gcc
|
CC = kos32-gcc
|
||||||
LD = kos32-ld
|
LD = kos32-ld
|
||||||
|
|
||||||
SDK_DIR:= $(abspath ../..)
|
SDK_DIR = $(abspath ../..)
|
||||||
|
|
||||||
LDFLAGS = -static -S -Tapp-dynamic.lds --image-base 0
|
|
||||||
|
|
||||||
CFLAGS = -c -fno-ident -O2 -fomit-frame-pointer -U__WIN32__ -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32
|
CFLAGS = -c -fno-ident -O2 -fomit-frame-pointer -U__WIN32__ -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32
|
||||||
|
LDFLAGS = -static -S -Tapp-dynamic.lds --image-base 0
|
||||||
|
|
||||||
INCLUDES= -I $(SDK_DIR)/sources/newlib/libc/include
|
INCLUDES = -I $(SDK_DIR)/sources/newlib/libc/include
|
||||||
LIBPATH:= -L $(SDK_DIR)/lib
|
LIBPATH = -L $(SDK_DIR)/lib
|
||||||
|
|
||||||
SOURCES = hello.c \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
|
|
||||||
|
SOURCES = hello.c
|
||||||
OBJECTS = $(patsubst %.c, %.o, $(SOURCES))
|
OBJECTS = $(patsubst %.c, %.o, $(SOURCES))
|
||||||
|
|
||||||
default: hello
|
default: hello
|
||||||
|
|
||||||
hello: $(OBJECTS) Makefile.shared
|
hello: $(OBJECTS) Makefile
|
||||||
$(LD) $(LDFLAGS) $(LIBPATH) -o hello $(OBJECTS) -lgcc -lc.dll
|
$(LD) $(LDFLAGS) $(LIBPATH) -o hello $(OBJECTS) -lgcc -lc.dll
|
||||||
|
strip -s hello -o hello
|
||||||
objcopy hello -O binary
|
objcopy hello -O binary
|
||||||
|
|
||||||
%.o : %.c Makefile.shared $(SOURCES)
|
%.o : %.c Makefile $(SOURCES)
|
||||||
$(CC) $(CFLAGS) $(INCLUDES) -o $@ $<
|
$(CC) $(CFLAGS) $(INCLUDES) -o $@ $<
|
@ -1,25 +1,23 @@
|
|||||||
|
# static linking
|
||||||
|
|
||||||
CC = kos32-gcc
|
CC = kos32-gcc
|
||||||
LD = kos32-ld
|
LD = kos32-ld
|
||||||
|
|
||||||
SDK_DIR:= $(abspath ../..)
|
SDK_DIR = $(abspath ../..)
|
||||||
|
|
||||||
LDFLAGS = -static -Tapp-static.lds
|
|
||||||
|
|
||||||
CFLAGS = -c -fno-ident -O2 -fomit-frame-pointer -U__WIN32__ -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32
|
CFLAGS = -c -fno-ident -O2 -fomit-frame-pointer -U__WIN32__ -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32
|
||||||
|
LDFLAGS = -static -Tapp-static.lds
|
||||||
|
|
||||||
INCLUDES= -I $(SDK_DIR)/sources/newlib/libc/include
|
INCLUDES = -I $(SDK_DIR)/sources/newlib/libc/include
|
||||||
LIBPATH:= -L $(SDK_DIR)/lib
|
LIBPATH = -L $(SDK_DIR)/lib
|
||||||
|
|
||||||
SOURCES = hello.c \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
|
|
||||||
|
SOURCES = hello.c
|
||||||
OBJECTS = $(patsubst %.c, %.o, $(SOURCES))
|
OBJECTS = $(patsubst %.c, %.o, $(SOURCES))
|
||||||
|
|
||||||
default: hello
|
default: hello
|
||||||
|
|
||||||
hello: $(OBJECTS) Makefile.static
|
hello: $(OBJECTS) Makefile.static
|
||||||
$(LD) $(LDFLAGS) $(LIBPATH) -Map hello.map -o hello $(OBJECTS) -lc -lgcc -lc
|
$(LD) $(LDFLAGS) $(LIBPATH) -o hello $(OBJECTS) -lc -lgcc -lc
|
||||||
objcopy hello -O binary
|
objcopy hello -O binary
|
||||||
|
|
||||||
%.o : %.c Makefile.static $(SOURCES)
|
%.o : %.c Makefile.static $(SOURCES)
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main() {
|
||||||
{
|
printf("Hello, world!\n");
|
||||||
|
return 0;
|
||||||
printf("Hello, world!\n");
|
}
|
||||||
|
|
||||||
return 0;
|
|
||||||
};
|
|
||||||
|
Loading…
Reference in New Issue
Block a user