2022-04-06 17:24:16 +02:00
|
|
|
# dynamic linking
|
|
|
|
|
2016-01-18 03:50:45 +01:00
|
|
|
CC = kos32-gcc
|
|
|
|
LD = kos32-ld
|
|
|
|
|
2022-04-06 17:32:56 +02:00
|
|
|
CONTRIB_DIR = $(abspath ../../..)
|
|
|
|
SDK_DIR = $(CONTRIB_DIR)/sdk
|
2016-01-18 03:50:45 +01:00
|
|
|
|
|
|
|
CFLAGS = -c -fno-ident -O2 -fomit-frame-pointer -U__WIN32__ -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32
|
2022-04-06 17:24:16 +02:00
|
|
|
LDFLAGS = -static -S -Tapp-dynamic.lds --image-base 0
|
2016-01-18 03:50:45 +01:00
|
|
|
|
2022-04-06 17:24:16 +02:00
|
|
|
INCLUDES = -I $(SDK_DIR)/sources/newlib/libc/include
|
|
|
|
LIBPATH = -L $(SDK_DIR)/lib
|
2016-01-18 03:50:45 +01:00
|
|
|
|
2022-04-06 17:24:16 +02:00
|
|
|
SOURCES = hello.c
|
2016-01-18 03:50:45 +01:00
|
|
|
OBJECTS = $(patsubst %.c, %.o, $(SOURCES))
|
|
|
|
|
|
|
|
default: hello
|
|
|
|
|
2022-04-06 17:24:16 +02:00
|
|
|
hello: $(OBJECTS) Makefile
|
2017-02-18 12:09:47 +01:00
|
|
|
$(LD) $(LDFLAGS) $(LIBPATH) -o hello $(OBJECTS) -lgcc -lc.dll
|
2022-04-06 17:24:16 +02:00
|
|
|
strip -s hello -o hello
|
2016-01-18 03:50:45 +01:00
|
|
|
objcopy hello -O binary
|
|
|
|
|
2022-04-06 17:24:16 +02:00
|
|
|
%.o : %.c Makefile $(SOURCES)
|
2016-01-18 03:50:45 +01:00
|
|
|
$(CC) $(CFLAGS) $(INCLUDES) -o $@ $<
|