0,0 → 1,111 |
Compiler = kos32-gcc |
Linker = kos32-ld |
|
SDK_DIR:= $(abspath ../../../contrib/sdk) |
|
Includes = -Id:\TEMP\mprog\kos\includes -I$(SDK_DIR)/sources/newlib/libc/include |
|
Compatib_Posix = -Dstricmp=strcasecmp -Dstrnicmp=strncasecmp |
|
Compiler_Options = -c -fno-exceptions -D_KOS_ -U_Win32 -U_WIN32 -U__MINGW32__ \ |
-mno-ms-bitfields -Wno-write-strings $(Includes) $(Compatib_Posix) |
|
Exe_file = cmm.kex |
|
|
Path_Libs = -Ld:/TEMP/Dev-Cpp/lib/kos -L $(SDK_DIR)/lib |
#-Ld:/TEMP/Dev-Cpp/lib/gcc/mingw32/3.4.2 -Ld:/TEMP/Dev-Cpp/lib/gcc -Ld:/TEMP/Dev-Cpp/lib -Ld:/TEMP/Dev-Cpp/lib |
|
Add_Libs = |
|
#Link_Libs = -lc -lgcc |
Link_Libs = -static -S -nostdlib -T $(SDK_DIR)/lib/app-dynamic.lds \ |
--image-base 0 -lgcc -ldll -lc.dll |
|
My_Libs = main.o port.o toka.o tokb.o tokc.o toke.o tokr.o errors.o debug.o outobj.o outpe.o disasm.o switch.o outle.o pointer.o new_type.o class.o res.o optreg.o libobj.o |
|
#################### |
## Makefile rules ## |
#################### |
|
all : $(Exe_file) |
|
$(Exe_file) : $(My_Libs) |
$(Linker) -o cmm.kex --stack 0x100000 $(Path_Libs) $(Add_Libs) $(My_Libs) $(Link_Libs) |
objcopy cmm.kex -O binary |
kpack cmm.kex |
|
clean: |
rm *.o |
|
|
# next are the exceptions that don't have to be compiled with the /zu option |
# since they will never be called from a interrupt. hey.. I _tried_ to find |
# a clean solution.. |
|
main.o : main.cpp |
$(Compiler) $(Compiler_Options) $< |
|
toka.o : toka.cpp |
$(Compiler) $(Compiler_Options) $< |
|
tokb.o : tokb.cpp |
$(Compiler) $(Compiler_Options) $< |
|
tokc.o : tokc.cpp |
$(Compiler) $(Compiler_Options) $< |
|
toke.o : toke.cpp |
$(Compiler) $(Compiler_Options) $< |
|
tokr.o : tokr.cpp |
$(Compiler) $(Compiler_Options) $< |
|
errors.o :errors.cpp |
$(Compiler) $(Compiler_Options) $< |
|
debug.o : debug.cpp |
$(Compiler) $(Compiler_Options) $< |
|
outobj.o : outobj.cpp |
$(Compiler) $(Compiler_Options) $< |
|
outpe.o : outpe.cpp |
$(Compiler) $(Compiler_Options) $< |
|
disasm.o : disasm.cpp |
$(Compiler) $(Compiler_Options) $< |
|
switch.o : switch.cpp |
$(Compiler) $(Compiler_Options) $< |
|
outle.o : outle.cpp |
$(Compiler) $(Compiler_Options) $< |
|
pointer.o : pointer.cpp |
$(Compiler) $(Compiler_Options) $< |
|
new_type.o : new_type.cpp |
$(Compiler) $(Compiler_Options) $< |
|
class.o : class.cpp |
$(Compiler) $(Compiler_Options) $< |
|
res.o : res.cpp |
$(Compiler) $(Compiler_Options) $< |
|
optreg.o : optreg.cpp |
$(Compiler) $(Compiler_Options) $< |
|
libobj.o : libobj.cpp |
$(Compiler) $(Compiler_Options) $< |
|
port.o: port.cpp |
$(Compiler) $(Compiler_Options) $< |
|
.cpp.o: |
$(Compiler) $(Compiler_Options) $< |
|
.asm.o: |
fasm $< |
|