# $Id: $ ## @file # # kBuild Makefile for the EMX toolchain. # # Copyright (c) 2005-2010 knut st. osmundsen # # ifeq ($(KBUILD_HOST),os2) LIBRARIES = \ libmoddef \ libomflib \ libend PROGRAMS = \ emxbind \ emxcat \ emxexp \ emximp \ emxload \ emxomf \ emxomfar \ emxomfld \ emxomfstrip \ listomf \ stripomf \ emxaout \ emxstack \ emxtsf \ emxupd \ ld \ ldstub INSTALLS = \ os2stub.bin \ scripts \ headers.sys else PROGRAMS = \ listomf endif # # Globals # INCS = include DEFS = VERSION=\"x\" INNOTEK_VERSION=\"y\" # # libmoddef # libmoddef_TEMPLATE = usr.lib libmoddef_SOURCES = \ src/libmoddef/moddef1.c \ src/libmoddef/moddef2.c \ src/libmoddef/moddef3.c # # libomflib # libomflib_TEMPLATE = usr.lib libomflib_SOURCES = \ src/libomflib/omflibam.c \ src/libomflib/omflibap.c \ src/libomflib/omflibcl.c \ src/libomflib/omflibcp.c \ src/libomflib/omflibcr.c \ src/libomflib/omflibdl.c \ src/libomflib/omflibex.c \ src/libomflib/omflibpb.c \ src/libomflib/omflibrd.c \ src/libomflib/omflibut.c \ src/libomflib/omflibwr.c # # libend # libend_TEMPLATE = usr.lib.nasm libend_SOURCES = \ src/libend/x86/end.asm \ src/libend/x86/endtext.asm \ src/libend/x86/enddata.asm \ src/libend/x86/endlink386.asm \ src/libend/x86/weakzero.asm # # emxbind # emxbind_TEMPLATE = usr.bin emxbind_DEFS = _BSD_NAMESPACE_POLLUTION emxbind_SOURCES = \ src/emxbind/cmd.c \ src/emxbind/emxbind.c \ src/emxbind/exec.c \ src/emxbind/export.c \ src/emxbind/fixup.c \ src/emxbind/map.c \ src/emxbind/resource.c \ src/emxbind/utils.c emxbind_LIBS = \ $(libmoddef_1_TARGET) # # The MZ stub. # os2stub.bin_TEMPLATE = usr.bin os2stub.bin_SOURCES = \ src/emxbind/os2stub.bin # # emxcat # emxcat_TEMPLATE = usr.bin emxcat_SOURCES = \ src/emxcat/emxcat.c # # emxdoc - skipped # # # emxexp # emxexp_TEMPLATE = usr.bin emxexp_SOURCES = \ src/emxexp/emxexp.c emxexp_LIBS = \ $(libomflib_1_TARGET) \ iberty # # emximp # emximp_TEMPLATE = usr.bin emximp_SOURCES = \ src/emximp/emximp.c emximp_LIBS = \ $(libomflib_1_TARGET) \ $(libmoddef_1_TARGET) # # emxload # emxload_TEMPLATE = usr.bin emxload_SOURCES = \ src/emxload/emxload.c # # emxomf # emxomf_TEMPLATE = usr.bin emxomf_SOURCES = \ src/emxomf/emxomf.c \ src/emxomf/stabshll.c \ src/emxomf/grow.c emxomf_LIBS = \ $(libomflib_1_TARGET) \ iberty # # emxomfar # emxomfar_TEMPLATE = usr.bin emxomfar_SOURCES = \ src/emxomf/emxomfar.c emxomfar_LIBS = \ $(libomflib_1_TARGET) # # emxomfld # emxomfld_TEMPLATE = usr.bin emxomfld_SOURCES = \ src/emxomf/emxomfld.c \ src/emxomf/weakld.c \ src/emxomf/grow.c emxomfld_LIBS = \ $(libmoddef_1_TARGET) # # emxomfstrip # emxomfstrip_TEMPLATE = usr.bin emxomfstrip_SOURCES = \ src/emxomf/emxomfstrip.c # # listomf # listomf_TEMPLATE = usr.bin listomf_SOURCES = \ src/emxomf/listomf.c # # stripomf # stripomf_TEMPLATE = usr.bin stripomf_SOURCES = \ src/emxomf/stripomf.c # # emxaout # emxaout_TEMPLATE = usr.bin emxaout_SOURCES = \ src/emxomf/emxaout.c \ src/emxomf/grow.c # # emxstack # emxstack_TEMPLATE = usr.bin emxstack_SOURCES = \ src/emxstack/emxstack.c # # emxtsf # emxtsf_TEMPLATE = usr.bin emxtsf_SOURCES = \ src/emxtsf/emxtsf.c emxtsf_LIBS = \ $(libmoddef_1_TARGET) # # emxupd # emxupd_TEMPLATE = usr.bin emxupd_SOURCES = \ src/emxupd/emxupd.c # # ld (good old one) # ld_TEMPLATE = usr.bin ld_DEFS = EMX ld_SOURCES = \ src/ld/ld.c ld_LDFLAGS = -Zstack 24575 ld_LIBS = \ iberty # # ldstub # if 0 ldstub_TEMPLATE = usr.bin.alp ldstub_SOURCES = \ src/ld/ldstub.asm \ src/ld/ldstub.def ldstub_LDFLAGS = -nostdlib -s #-Wl,-O,Option,-O,alignment=1 ldstub_LIBS = os2 end else ldstub_TEMPLATE = usr.bin.nasm ldstub_SOURCES = \ src/ld/ldstub-nasm.asm \ src/ld/ldstub.def ldstub_ASFLAGS = -Ox ldstub_LDFLAGS = -nostdlib -s ldstub_LIBS = os2 endif ldstub_EXESUFF = # # Scripts # scripts_TEMPLATE = usr.bin.script scripts_SOURCES = \ src/misc/dllar.cmd \ src/misc/gccenv.cmd \ src/misc/MakeOmfLibs.cmd # # Headers - include/sys # headers.sys_TEMPLATE = usr.include.sys headers.sys_SOURCES = \ include/sys/moddef.h \ include/sys/omflib.h DEPTH = .. include $(PATH_KBUILD)/rules.kmk