source: branches/1.0/src/makefile.kmk@ 10

Last change on this file since 10 was 10, checked in by diver, 16 years ago

another makefile change

File size: 3.9 KB
Line 
1#
2# Universal port driver
3# kBuild makefile
4# Copyright (C) netlabs.org 2003-2009
5# See COPYING for license informations
6#
7# please define (as env variables or kmk command line) the following variables before starting:
8# BUILD_PLATFORM = os2
9# BUILD_TYPE = release|debug
10#
11# Copy Config.km_ to Config.kmk and edit it to match your installation.
12#
13
14DEPTH = ..
15
16TOOL = GCC3OMF
17
18DLLS = uni
19
20# required to get IPFC compiler to work correctly
21export IPFC=$(TOOLKIT)\IPFC
22
23uni_RCTOOL =OPENWATCOM
24TOOL_OPENWATCOM_RCFLAGS += -i=$(TOOLKIT)/h
25
26uni_main_SOURCES = \
27 uni.def \
28 uni.c
29
30# english source
31uni_INST = bin/en/
32uni_SOURCES = $(uni_main_SOURCES) en/uni.rc
33
34# german source
35DLLS += uni_de
36uni_de_EXTENDS = uni
37uni_de_NAME = uni
38uni_de_INST = bin/de/
39uni_de_SOURCES = $(uni_main_SOURCES) de/uni.rc
40uni_de_CLEAN = $(PATH_BIN)/de/uni.pdr
41
42uni_CFLAGS = -Zomf
43uni_CFLAGS.release = -s -O3 -march=pentium -mcpu=pentium4
44uni_CFLAGS.debug = -g -O0 -DDEBUG
45uni_LDFLAGS = -Zomf -Zno-fork -Zmap -Zbin-files
46uni_LDFLAGS.release = -s
47uni_LDFLAGS.debug = -g
48
49uni_DEFS =
50uni_INCS = ./h
51
52uni_DLLSUFF = .pdr
53
54uni_CLEAN = description.rc $(PATH_BIN)/uni.pdr
55
56#build other files en (e.g. help)
57OTHERS = /en/uni.ipf $(PATH_BIN)/en/uni.hlp $(PATH_BIN)/en/readme.txt
58OTHER_CLEAN = $(PATH_BIN)/en/uni.hlp $(PATH_BIN)/en/readme.txt
59
60#build other files de (e.g. help)
61OTHERS += /de/uni.ipf $(PATH_BIN)/de/uni.hlp $(PATH_BIN)/de/readme.txt
62OTHER_CLEAN += $(PATH_BIN)/de/uni.hlp $(PATH_BIN)/de/readme.txt
63
64
65#install some more files
66INSTALLS = docs
67docs_INST = bin/
68docs_SOURCES = uni.ico
69OTHER_CLEAN += $(PATH_BIN)/uni.ico
70
71# packaging stuffs
72ifeq ($(BUILD_TYPE),debug)
73 PACKAGE_NAME = uni-$(subst .,_,$(VERSION))-$(BUILD)-debug.zip
74else
75 PACKAGE_NAME = uni-$(subst .,_,$(VERSION))-$(BUILD).zip
76endif
77PACKING += $(PATH_ROOT)/dist/$(PACKAGE_NAME)
78OTHER_CLEAN += $(PATH_ROOT)/dist/$(PACKAGE_NAME)
79
80# now include standard code
81include $(PATH_KBUILD)/rules.kMk
82
83# here follows standard gnu make inference rules
84
85# add new dependancy on build level info
86en/uni.rc : description.rc
87de/uni.rc : description.rc
88
89# update bldlevel info
90description.rc: config.kmk
91 @echo Writing build level informations
92 @cp description.rc_ description.rc
93 @BldLevelInf0.cmd $(VERSION) $(BUILD)
94
95# substitute macros in ipf file en
96/en/uni.ipf: Config.kmk ./en/uni.ipf
97 $(QUIET)$(SED) "s;_VERSION_;$(VERSION);g" ./en/uni.ipf \
98 | $(SED) "s;_BUILD_;$(BUILD);g" \
99 > uni_en.ipf
100
101# substitute macros in ipf file de
102/de/uni.ipf: Config.kmk ./de/uni.ipf
103 $(QUIET)$(SED) "s;_VERSION_;$(VERSION);g" ./de/uni.ipf \
104 | $(SED) "s;_BUILD_;$(BUILD);g" \
105 > uni_de.ipf
106
107# compile english help file
108$(PATH_BIN)/en/uni.hlp: en/uni.ipf ./uni.h ./H/hmacros.h config.kmk
109 -gcc -E -I./h -I./en -x c uni_en.ipf > uni_en.i
110 -@mkdir $(PATH_BIN)
111 -@mkdir $(PATH_BIN)/en
112 $(TOOLKIT)\bin\ipfc.exe uni_en.i $(PATH_BIN)/en/uni.hlp /COUNTRY=001 /CODEPAGE=850
113 rm uni_en.i
114 rm uni_en.ipf
115
116# compile german help file
117$(PATH_BIN)/de/uni.hlp: de/uni.ipf ./uni.h ./H/hmacros.h config.kmk
118 -gcc -E -I./h -I./de -x c uni_de.ipf > uni_de.i
119 -@mkdir $(PATH_BIN)
120 -@mkdir $(PATH_BIN)/de
121 $(TOOLKIT)\bin\ipfc.exe uni_de.i $(PATH_BIN)/de/uni.hlp /COUNTRY=001 /CODEPAGE=850
122 rm uni_de.i
123 rm uni_de.ipf
124
125# substitute macros in docs en
126$(PATH_BIN)/en/readme.txt: Config.kmk en/readme.txt
127 $(QUIET)$(SED) "s;_VERSION_;$(VERSION);g" en/readme.txt \
128 | $(SED) "s;_BUILD_;$(BUILD);g" \
129 > $(PATH_BIN)/en/readme.txt
130
131# substitute macros in docs de
132$(PATH_BIN)/de/readme.txt: Config.kmk de/readme.txt
133 $(QUIET)$(SED) "s;_VERSION_;$(VERSION);g" de/readme.txt \
134 | $(SED) "s;_BUILD_;$(BUILD);g" \
135 > $(PATH_BIN)/de/readme.txt
136
137
138# final: zip all files!
139$(PATH_ROOT)/dist/$(PACKAGE_NAME): \
140 $(PATH_BIN)/en/uni.pdr
141 $(QUIET)$(MKDIR) -p $(PATH_ROOT)/dist
142 $(QUIET)$(RM) -f $@
143 -ea2.cmd -e DEFAULT_PORT=UNI $(PATH_BIN)/en/uni.pdr
144 -ea2.cmd -e DEFAULT_PORT=UNI $(PATH_BIN)/de/uni.pdr
145 $(QUIET)$(REDIRECT) -C $(PATH_BIN) -- zip -9 -r $@ *
146
147
Note: See TracBrowser for help on using the repository browser.