source: trunk/Makefile.os2-g++@ 200

Last change on this file since 200 was 200, checked in by rudi, 14 years ago

Allow to include the SQL module. Note that this option is disabled by default, because we have not ported any sql driver.

File size: 4.6 KB
Line 
1# -*- makefile -*-
2#
3# :mode=makefile:tabSize=4:indentSize=4:noTabs=false:
4# :folding=explicit:collapseFolds=1:
5#
6# Main Makefile for building the Qt library, examples and tutorial.
7#
8# Version for OS/2, Innotek GCC and GNU Make
9#
10
11FORCEDEP=
12CONTINUEONERROR=-i
13
14HAVE_4OS2 := $(shell echo %@eval[2 + 2])
15ifneq (4,$(HAVE_4OS2))
16HAVE_4OS2 :=
17endif
18
19ECHO_EMPTY := $(if $(HAVE_4OS2),@echo .,@echo.)
20
21.PHONY: private_headers
22
23all: symlinks src-qmake src-moc sub-src sub-tutorial sub-tools sub-examples
24 $(ECHO_EMPTY)
25 @echo The Qt library is now built in lib
26 @echo The Qt examples are built in the directories in examples
27 @echo The Qt tutorials are built in the directories in tutorial
28 $(ECHO_EMPTY)
29 @echo Note: be sure to set the environment variable QTDIR to point
30 @echo to here or to wherever you move these directories.
31 $(ECHO_EMPTY)
32 @echo Enjoy! - the Trolltech team
33 $(ECHO_EMPTY)
34
35symlinks: .qmake.cache private_headers
36# syncqt
37
38src-qmake: symlinks qmake\Makefile
39 $(MAKE) -C qmake
40
41src-moc: src-qmake src\moc\Makefile $(FORCEDEP)
42 $(MAKE) -C src\moc
43
44src\moc\Makefile:
45 cd src\moc & qmake
46
47sub-src: src-qmake src-moc .qmake.cache src\Makefile $(FORCEDEP)
48 $(MAKE) -C src
49
50src\Makefile:
51 cd src & qmake
52
53sub-tutorial: sub-src tutorial\Makefile $(FORCEDEP)
54 $(MAKE) -C tutorial $(CONTINUEONERROR)
55
56tutorial\Makefile:
57 cd tutorial & qmake
58
59sub-examples: sub-src sub-tools examples\Makefile $(FORCEDEP)
60 $(MAKE) -C examples $(CONTINUEONERROR)
61
62examples\Makefile:
63 cd examples & qmake
64
65## @todo (dmik): later
66#sub-extensions: sub-src $(FORCEDEP)
67# $(MAKE) -C extensions $(CONTINUEONERROR)
68#
69#sub-plugins: sub-src .qmake.cache $(FORCEDEP)
70# $(MAKE) -C plugins\src
71#
72#sub-tools: sub-plugins $(FORCEDEP)
73# $(MAKE) -C tools
74sub-tools: tools\Makefile $(FORCEDEP)
75 $(MAKE) -C tools
76
77tools\Makefile:
78 cd tools & qmake
79
80clean:
81 @if exist qmake\Makefile $(MAKE) -C qmake $(CONTINUEONERROR) clean
82 @if exist src\moc\Makefile $(MAKE) -C src\moc $(CONTINUEONERROR) clean
83 @if exist src\Makefile $(MAKE) -C src $(CONTINUEONERROR) clean
84 @if exist tutorial\Makefile $(MAKE) -C tutorial $(CONTINUEONERROR) clean
85 @if exist examples\Makefile $(MAKE) -C examples $(CONTINUEONERROR) clean
86## @todo (dmik): later
87# @if exist extensions\Makefile $(MAKE) -C extensions $(CONTINUEONERROR) clean
88# @if exist plugins\src\Makefile $(MAKE) -C plugins\src $(CONTINUEONERROR) clean
89 @if exist tools\Makefile $(MAKE) -C tools $(CONTINUEONERROR) clean
90
91distclean: clean
92 -del .qmake.cache
93
94.qmake.cache:
95 $(ECHO_EMPTY)
96 @echo Qt must first be configured using the "configure" script.
97 $(ECHO_EMPTY)
98
99FORCE:
100
101# defines and rules to duplicate the private include headers
102
103INCLUDE_PRIVATE = include\private
104KERNEL_PH = $(patsubst src/kernel/%,$(INCLUDE_PRIVATE)\\%,$(wildcard src/kernel/*_p.h))
105WIDGETS_PH = $(patsubst src/widgets/%,$(INCLUDE_PRIVATE)\\%,$(wildcard src/widgets/*_p.h))
106DIALOGS_PH = $(patsubst src/dialogs/%,$(INCLUDE_PRIVATE)\\%,$(wildcard src/dialogs/*_p.h))
107TOOLS_PH = $(patsubst src/tools/%,$(INCLUDE_PRIVATE)\\%,$(wildcard src/tools/*_p.h))
108CODECS_PH = $(patsubst src/codecs/%,$(INCLUDE_PRIVATE)\\%,$(wildcard src/codecs/*_p.h))
109STYLES_PH = $(patsubst src/styles/%,$(INCLUDE_PRIVATE)\\%,$(wildcard src/styles/*_p.h))
110NETWORK_PH = $(patsubst src/network/%,$(INCLUDE_PRIVATE)\\%,$(wildcard src/network/*_p.h))
111XML_PH = $(patsubst src/xml/%,$(INCLUDE_PRIVATE)\\%,$(wildcard src/xml/*_p.h))
112SQL_PH = $(patsubst src/sql/%,$(INCLUDE_PRIVATE)\\%,$(wildcard src/sql/*_p.h))
113PRIVATE_HEADERS = $(KERNEL_PH) $(WIDGETS_PH) $(DIALOGS_PH) $(TOOLS_PH) $(CODECS_PH) $(STYLES_PH) $(NETWORK_PH) $(XML_PH) $(SQL_PH)
114
115COPY_HEADER = @(if not exist $(INCLUDE_PRIVATE) mkdir $(INCLUDE_PRIVATE)) & \
116 (if not exist $@ echo updated > .private_headers) & (echo copy $< $@) & (copy $< $@ >nul 2>&1)
117
118$(KERNEL_PH): $(INCLUDE_PRIVATE)\\%.h: src\kernel\\%.h
119 $(COPY_HEADER)
120$(WIDGETS_PH): $(INCLUDE_PRIVATE)\\%.h: src\widgets\\%.h
121 $(COPY_HEADER)
122$(DIALOGS_PH): $(INCLUDE_PRIVATE)\\%.h: src\dialogs\\%.h
123 $(COPY_HEADER)
124$(TOOLS_PH): $(INCLUDE_PRIVATE)\\%.h: src\tools\\%.h
125 $(COPY_HEADER)
126$(CODECS_PH): $(INCLUDE_PRIVATE)\\%.h: src\codecs\\%.h
127 $(COPY_HEADER)
128$(STYLES_PH): $(INCLUDE_PRIVATE)\\%.h: src\styles\\%.h
129 $(COPY_HEADER)
130$(NETWORK_PH): $(INCLUDE_PRIVATE)\\%.h: src\network\\%.h
131 $(COPY_HEADER)
132$(XML_PH): $(INCLUDE_PRIVATE)\\%.h: src\xml\\%.h
133 $(COPY_HEADER)
134$(SQL_PH): $(INCLUDE_PRIVATE)\\%.h: src\sql\\%.h
135 $(COPY_HEADER)
136
137private_headers: $(PRIVATE_HEADERS)
138 @if not exist .private_headers echo updated > .private_headers
Note: See TracBrowser for help on using the repository browser.