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 ../..)
|
||||
|
||||
LDFLAGS = -static -nostdlib -T $(SDK_DIR)/sources/newlib/app.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
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
SOURCES = hello.cpp \
|
||||
$(NULL)
|
||||
LIBPATH = -L $(SDK_DIR)/lib
|
||||
|
||||
SOURCES = hello.cpp
|
||||
OBJECTS = $(patsubst %.cpp, %.o, $(SOURCES))
|
||||
|
||||
default: hello
|
||||
|
||||
hello: $(OBJECTS) Makefile
|
||||
$(LD) $(LDFLAGS) $(LIBPATH) --subsystem console -o hello.kex $(OBJECTS) -lstdc++ -lsupc++ -lgcc -lc.dll
|
||||
strip -s hello.kex -o hello.kex
|
||||
objcopy hello.kex -O binary
|
||||
rm *.o
|
||||
$(LD) $(LDFLAGS) $(LIBPATH) --subsystem console -o hello $(OBJECTS) -lstdc++ -lsupc++ -lgcc -lc.dll
|
||||
strip -s hello -o hello
|
||||
objcopy hello -O binary
|
||||
|
||||
%.o : %.cpp Makefile $(SOURCES)
|
||||
$(CC) $(CFLAGS) $(INCLUDES) -o $@ $<
|
||||
|
@ -1,21 +1,16 @@
|
||||
// for 'cout'
|
||||
#include <iostream>
|
||||
|
||||
// for 'console.obj' functions
|
||||
#include <sys/kos_LoadConsole.h>
|
||||
#include <sys/kos_LoadConsole.h> // to load console.obj
|
||||
|
||||
using namespace std;
|
||||
|
||||
int main()
|
||||
{
|
||||
// load console.obj
|
||||
int main() {
|
||||
load_console();
|
||||
|
||||
con_set_title("C++ Console.obj example");
|
||||
|
||||
cout << "Press any key...\n";
|
||||
con_getch();
|
||||
cout << "Hello, KolibriOS!\n";
|
||||
con_set_title("Hello");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
19
contrib/sdk/samples/hello/Makefile.shared → contrib/sdk/samples/hello/Makefile
Normal file → Executable file
19
contrib/sdk/samples/hello/Makefile.shared → contrib/sdk/samples/hello/Makefile
Normal file → Executable file
@ -1,26 +1,25 @@
|
||||
# dynamic linking
|
||||
|
||||
CC = kos32-gcc
|
||||
LD = kos32-ld
|
||||
|
||||
SDK_DIR:= $(abspath ../..)
|
||||
|
||||
LDFLAGS = -static -S -Tapp-dynamic.lds --image-base 0
|
||||
SDK_DIR = $(abspath ../..)
|
||||
|
||||
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
|
||||
LIBPATH:= -L $(SDK_DIR)/lib
|
||||
|
||||
SOURCES = hello.c \
|
||||
$(NULL)
|
||||
|
||||
LIBPATH = -L $(SDK_DIR)/lib
|
||||
|
||||
SOURCES = hello.c
|
||||
OBJECTS = $(patsubst %.c, %.o, $(SOURCES))
|
||||
|
||||
default: hello
|
||||
|
||||
hello: $(OBJECTS) Makefile.shared
|
||||
hello: $(OBJECTS) Makefile
|
||||
$(LD) $(LDFLAGS) $(LIBPATH) -o hello $(OBJECTS) -lgcc -lc.dll
|
||||
strip -s hello -o hello
|
||||
objcopy hello -O binary
|
||||
|
||||
%.o : %.c Makefile.shared $(SOURCES)
|
||||
%.o : %.c Makefile $(SOURCES)
|
||||
$(CC) $(CFLAGS) $(INCLUDES) -o $@ $<
|
@ -1,25 +1,23 @@
|
||||
# static linking
|
||||
|
||||
CC = kos32-gcc
|
||||
LD = kos32-ld
|
||||
|
||||
SDK_DIR:= $(abspath ../..)
|
||||
|
||||
LDFLAGS = -static -Tapp-static.lds
|
||||
SDK_DIR = $(abspath ../..)
|
||||
|
||||
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
|
||||
LIBPATH:= -L $(SDK_DIR)/lib
|
||||
|
||||
SOURCES = hello.c \
|
||||
$(NULL)
|
||||
|
||||
LIBPATH = -L $(SDK_DIR)/lib
|
||||
|
||||
SOURCES = hello.c
|
||||
OBJECTS = $(patsubst %.c, %.o, $(SOURCES))
|
||||
|
||||
default: hello
|
||||
|
||||
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
|
||||
|
||||
%.o : %.c Makefile.static $(SOURCES)
|
||||
|
@ -1,9 +1,6 @@
|
||||
#include <stdio.h>
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
|
||||
int main() {
|
||||
printf("Hello, world!\n");
|
||||
|
||||
return 0;
|
||||
};
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user