33 lines
1.5 KiB
Makefile
33 lines
1.5 KiB
Makefile
CXX:=kos32-g++
|
|
CC:=kos32-gcc
|
|
LD:=kos32-ld
|
|
SDK_DIR:=/home/pt/dev/kolibri/latest/contrib/sdk
|
|
CXXFLAGS:=-c -fno-ident -O2 -std=c++14 -fomit-frame-pointer -U__WIN32__ -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32 -Wno-pointer-arith -Wall -Weffc++
|
|
CFLAGS:=-c -fno-ident -O2 -std=c99 -fomit-frame-pointer -U__WIN32__ -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32 -Wno-pointer-arith
|
|
INCLUDE:=-I $(SDK_DIR)/sources/newlib/libc/include -I $(SDK_DIR)/sources/libstdc++-v3/include -I /usr/local/kos32/lib/gcc/mingw32/5.4.0/include/c++/experimental
|
|
LDFLAGS:=-static -S -Tapp-dynamic.lds --image-base 0
|
|
LIBPATH:=-L $(SDK_DIR)/lib -L /usr/local/kos32/lib
|
|
|
|
all: compile link make_iso copy_iso
|
|
|
|
compile:
|
|
$(CXX) $(CXXFLAGS) $(INCLUDE) -o unit.o unit.cpp
|
|
$(CXX) $(CXXFLAGS) $(INCLUDE) -o filesystem.o filesystem.cpp
|
|
$(CC) $(CFLAGS) $(INCLUDE) -o opendir.o $(SDK_DIR)/sources/newlib/libc/posix/opendir.c
|
|
$(CC) $(CFLAGS) $(INCLUDE) -o readdir.o $(SDK_DIR)/sources/newlib/libc/posix/readdir.c
|
|
$(CC) $(CFLAGS) $(INCLUDE) -o closedir.o $(SDK_DIR)/sources/newlib/libc/posix/closedir.c
|
|
|
|
clean:
|
|
rm -f unit.o filesystem.o opendir.o readdir.o closedir.o unit iso app.iso
|
|
|
|
link:
|
|
$(LD) $(LDFLAGS) $(LIBPATH) unit.o filesystem.o opendir.o readdir.o closedir.o -o unit -lstdc++ -lsupc++ -lgcc -lc.dll
|
|
kos32-strip -s unit -o unit
|
|
kos32-objcopy unit -O binary
|
|
|
|
make_iso:
|
|
rm -rf iso
|
|
mkdir -p iso
|
|
cp unit iso/
|
|
mkisofs -appid KolibriTestApp -volid KolibriTestApp -XA -sysid KOLIBRI -publisher pvoid -volset-size 1 -volset-seqno 1 -iso-level 3 -J -o unit.iso iso/unit
|
|
rm -rf iso
|