source: trunk/libc/src/libos2/Makefile.kmk

Last change on this file was 3945, checked in by bird, 11 years ago

Added todo regarding converting code2/3.s

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 4.6 KB
Line 
1# $Id: Makefile.kmk 3945 2015-01-21 13:38:21Z bird $
2## @file
3#
4# kBuild Sub-Makefile for kLIBC - src/libos2 - The OS/2 import and thunker libraries.
5#
6# Copyright (c) 2006 knut st. osmundsen <bird@anduin.net>
7#
8#
9# This file is part of kLIBC.
10#
11# kLIBC is free software; you can redistribute it and/or modify
12# it under the terms of the GNU General Public License as published by
13# the Free Software Foundation; either version 2 of the License, or
14# (at your option) any later version.
15#
16# kLIBC is distributed in the hope that it will be useful,
17# but WITHOUT ANY WARRANTY; without even the implied warranty of
18# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19# GNU General Public License for more details.
20#
21# You should have received a copy of the GNU General Public License
22# along with kLIBC; if not, write to the Free Software
23# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24#
25#
26
27# include common stuff.
28DEPTH ?= ../../..
29SUB_DEPTH = ../..
30include $(PATH_KBUILD)/subheader.kmk
31ifeq ($(BUILD_TARGET),os2)
32
33#
34# libos2
35#
36LIBRARIES += libos2
37libos2_TEMPLATE = libc
38libos2_DEFS = NO_INCL_SAFE_HIMEM_WRAPPERS
39libos2_SOURCES := \
40 $(wildcard $(PATH_LIBC_SRC)/libos2/safe/*.c) \
41 $(wildcard $(PATH_LIBC_SRC)/libos2/*.imp)
42ifndef CFG_LIBC_USE_WATCOM
43 libos2_SOURCES += \
44 $(wildcard $(PATH_LIBC_SRC)/libos2/*.c)
45endif
46
47
48# configure the variants. */
49$(call LIBC_CONFIG_VARIANT_LIBS_OTHER,libos2)
50
51$(warning TODO: Convert src/libos2/code2.s src/libos2/code3.s to nasm.)
52
53ifndef CFG_LIBC_USE_WATCOM
54#
55# Lazy libs.
56#
57TEMPLATE_libos2lazy = libos2 lazy import template.
58TEMPLATE_libos2lazy_EXTENDS = libc
59TEMPLATE_libos2lazy_TOOL = libos2lazyimp
60TEMPLATE_libos2lazy_TOOL.os2 = libos2lazyimp
61
62TOOL_libos2lazyimp = libos2 ad hoc lazy import tool
63TOOL_libos2lazyimp_ARLIBSUFF = .a
64TOOL_libos2lazyimp_LINK_LIBRARY_OUTPUT =
65TOOL_libos2lazyimp_LINK_LIBRARY_DEPEND = $(othersrc)
66TOOL_libos2lazyimp_LINK_LIBRARY_DEPORD =
67define TOOL_libos2lazyimp_LINK_LIBRARY_CMDS
68 emximp -l -l -o $(out) $(othersrc)
69endef
70
71LIBRARIES += libos2_unicode_lazy
72libos2_unicode_lazy_TEMPLATE = libos2lazy
73libos2_unicode_lazy_SOURCES = $(PATH_LIBC_SRC)/libos2/unicode.imp
74
75LIBRARIES += libos2_pmwin_lazy
76libos2_pmwin_lazy_TEMPLATE = libos2lazy
77libos2_pmwin_lazy_SOURCES = $(PATH_LIBC_SRC)/libos2/win.imp
78
79LIBRARIES += libos2_pmwp_lazy
80libos2_pmwp_lazy_TEMPLATE = libos2lazy
81libos2_pmwp_lazy_SOURCES = $(PATH_LIBC_SRC)/libos2/wp.imp
82
83LIBRARIES += libos2_pmspl_lazy
84libos2_pmspl_lazy_TEMPLATE = libos2lazy
85libos2_pmspl_lazy_SOURCES = $(PATH_LIBC_SRC)/libos2/spl.imp
86
87LIBRARIES += libos2_som_lazy
88libos2_som_lazy_TEMPLATE = libos2lazy
89libos2_som_lazy_SOURCES = $(PATH_LIBC_SRC)/libos2/som.imp
90
91LIBRARIES += libos2_pmshapi_lazy
92libos2_pmshapi_lazy_TEMPLATE = libos2lazy
93libos2_pmshapi_lazy_SOURCES = $(PATH_LIBC_SRC)/libos2/shl.imp
94
95LIBRARIES += libos2_rexx_lazy
96libos2_rexx_lazy_TEMPLATE = libos2lazy
97libos2_rexx_lazy_SOURCES = $(PATH_LIBC_SRC)/libos2/rexx.imp
98
99LIBRARIES += libos2_rexxapi_lazy
100libos2_rexxapi_lazy_TEMPLATE = libos2lazy
101libos2_rexxapi_lazy_SOURCES = $(PATH_LIBC_SRC)/libos2/rexxapi.imp
102
103LIBRARIES += libos2_pmpic_lazy
104libos2_pmpic_lazy_TEMPLATE = libos2lazy
105libos2_pmpic_lazy_SOURCES = $(PATH_LIBC_SRC)/libos2/pic.imp
106
107LIBRARIES += libos2_helpmgr_lazy
108libos2_helpmgr_lazy_TEMPLATE = libos2lazy
109libos2_helpmgr_lazy_SOURCES = $(PATH_LIBC_SRC)/libos2/help.imp
110
111LIBRARIES += libos2_pmgpi_lazy
112libos2_pmgpi_lazy_TEMPLATE = libos2lazy
113libos2_pmgpi_lazy_SOURCES = $(PATH_LIBC_SRC)/libos2/gpi.imp
114
115LIBRARIES += libos2_pmdrag_lazy
116libos2_pmdrag_lazy_TEMPLATE = libos2lazy
117libos2_pmdrag_lazy_SOURCES = $(PATH_LIBC_SRC)/libos2/drag.imp
118
119LIBRARIES += libos2_pmctls_lazy
120libos2_pmctls_lazy_TEMPLATE = libos2lazy
121libos2_pmctls_lazy_SOURCES = $(PATH_LIBC_SRC)/libos2/ctls.imp
122
123LIBRARIES += libos2_pm_lazy
124libos2_pm_lazy_TEMPLATE = libos2lazy
125libos2_pm_lazy_SOURCES = \
126 $(PATH_LIBC_SRC)/libos2/win.imp \
127 $(PATH_LIBC_SRC)/libos2/wp.imp \
128 $(PATH_LIBC_SRC)/libos2/spl.imp \
129 $(PATH_LIBC_SRC)/libos2/shl.imp \
130 $(PATH_LIBC_SRC)/libos2/pic.imp \
131 $(PATH_LIBC_SRC)/libos2/help.imp \
132 $(PATH_LIBC_SRC)/libos2/gpi.imp \
133 $(PATH_LIBC_SRC)/libos2/drag.imp \
134 $(PATH_LIBC_SRC)/libos2/ctls.imp
135
136LIBRARIES += libos2_dos_lazy
137libos2_dos_lazy_TEMPLATE = libos2lazy
138libos2_dos_lazy_SOURCES = \
139 $(PATH_LIBC_SRC)/libos2/dos.imp \
140 $(PATH_LIBC_SRC)/libos2/ses.imp \
141 $(PATH_LIBC_SRC)/libos2/que.imp \
142 $(PATH_LIBC_SRC)/libos2/nls.imp \
143 $(PATH_LIBC_SRC)/libos2/msg.imp
144
145LIBRARIES += libos2_lazy
146libos2_lazy_TEMPLATE = libos2lazy
147libos2_lazy_SOURCES = \
148 $(filter-out %-data.imp,$(wildcard $(PATH_LIBC_SRC)/libos2/*.imp))
149
150endif # No lazy libs with watcom, not yet at least.
151endif # BUILD_TARGET == os2
152# generate rules
153include $(PATH_KBUILD)/subfooter.kmk
154
Note: See TracBrowser for help on using the repository browser.