source: trunk/kBuild/config.kmk@ 75

Last change on this file since 75 was 75, checked in by bird, 21 years ago

..

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.2 KB
Line 
1# $Id: config.kmk 75 2004-05-31 08:05:15Z bird $
2#
3# Base config for kBuild
4#
5# It is recommended to include this file in your config.kMk file and then
6# override any default options defined there. In addition you will have to
7# decide the location of the object directory in your config.kMk file, and
8# of course manage to find this file.
9#
10#
11# Copyright (c) 2003 knut st. osmundsen <bird-srcspam@anduin.net>
12#
13#
14# This file is part of kBuild.
15#
16# kBuild is free software; you can redistribute it and/or modify
17# it under the terms of the GNU General Public License as published by
18# the Free Software Foundation; either version 2 of the License, or
19# (at your option) any later version.
20#
21# kBuild is distributed in the hope that it will be useful,
22# but WITHOUT ANY WARRANTY; without even the implied warranty of
23# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24# GNU General Public License for more details.
25#
26# You should have received a copy of the GNU General Public License
27# along with kBuild; if not, write to the Free Software
28# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
29#
30#
31
32ifdef rewrite_me
33
34.ifndef __KBLD_config_kMk_
35__KBLD_config_kMk_ = 1
36
37#
38# Determin default target (if not set) / Check default target (if set)
39#
40.ifndef TARGET_MACHINE_TYPE
41## The TARGET_MACHINE_TYPE is a generalized machine type for the
42# default target machine. Current types are "UX" for UNIX like systems
43# and "PC" for PC like systems. PC like systems are DOS, OS/2, and Win32.
44# While the rest is UNIX like at the moment.
45.if ${MACHINE} == "ibmos2" || ${MACHINE} == "win32" || ${MACHINE} == "dos"
46TARGET_MACHINE_TYPE := PC
47.else
48TARGET_MACHINE_TYPE := UX
49.endif
50
51.elif ${TARGET_MACHINE_TYPE} != "UX" && ${TARGET_MACHINE_TYPE} != "PC"
52.error Invalid TARGET_MACHINE_TYPE define. Must be either UX or PC.
53.endif
54
55## @group Typical PC Suffixes
56# Note that suffixes includes the '.' if present.
57# @{
58SFX_EXE_PC := .exe
59SFX_DLL_PC := .dll
60SFX_DEF_PC := .def
61SFX_RES_PC := .res
62SFX_OBJ_PC := .obj
63SFX_CLS_PC := .class
64# @}
65
66## @group Typical UNIX Suffixes
67# Note that suffixes includes the '.' if present.
68# @{
69SFX_EXE_UX :=
70SFX_DLL_UX := .so
71SFX_OBJ_UX := .o
72SFX_CLS_UX := .class
73# @}
74
75
76## @group Default Target Suffixes.
77# @{
78## Executable Program.
79SFX_EXE = ${SFX_EXE_${TARGET_MACHINE_TYPE}}
80## DLL/Shared Library.
81SFX_DLL = ${SFX_DLL_${TARGET_MACHINE_TYPE}}
82## Object file.
83SFX_OBJ = ${SFX_OBJ_${TARGET_MACHINE_TYPE}}
84## Resource object file (PC thingy).
85SFX_RES = ${SFX_RES_${TARGET_MACHINE_TYPE}}
86## Definition (~=linkerscript) file (PC thingy).
87SFX_DEF = ${SFX_RES_${TARGET_MACHINE_TYPE}}
88## Java class files
89SFX_CLS = ${SFX_RES_${TARGET_MACHINE_TYPE}}
90## @}
91
92
93## @group Suffix lists used for transformations
94# @{
95## C source file suffixes
96SFXS_C := .c
97## C++ source file suffixes
98SFXS_CXX := .cpp .cxx .cc .c++
99## C/C++ header file suffixes (list)
100SFXS_H := .h .hpp
101## Java source file suffixes
102SFXS_JAVA := .java .jav
103## IDL source file suffixes
104SFXS_IDL := .idl
105## @}
106
107
108## @group kBuild helper defines.
109# @{
110## The kBuild path.
111KBUILD_PATH := $(MAKEFILE:H)
112## The rules file.
113KBUILD_RULEZ := $(KBUILD_PATH)/rules.kMk
114## @}
115
116.endif
117endif
Note: See TracBrowser for help on using the repository browser.