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

Last change on this file since 92 was 92, checked in by dmik, 19 years ago

Corrected todo's.

File size: 4.4 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))
112PRIVATE_HEADERS = $(KERNEL_PH) $(WIDGETS_PH) $(DIALOGS_PH) $(TOOLS_PH) $(CODECS_PH) $(STYLES_PH) $(NETWORK_PH) $(XML_PH)
113
114COPY_HEADER = @(if not exist $(INCLUDE_PRIVATE) mkdir $(INCLUDE_PRIVATE)) & \
115 (if not exist $@ echo updated > .private_headers) & (echo copy $< $@) & (copy $< $@ >nul 2>&1)
116
117$(KERNEL_PH): $(INCLUDE_PRIVATE)\\%.h: src\kernel\\%.h
118 $(COPY_HEADER)
119$(WIDGETS_PH): $(INCLUDE_PRIVATE)\\%.h: src\widgets\\%.h
120 $(COPY_HEADER)
121$(DIALOGS_PH): $(INCLUDE_PRIVATE)\\%.h: src\dialogs\\%.h
122 $(COPY_HEADER)
123$(TOOLS_PH): $(INCLUDE_PRIVATE)\\%.h: src\tools\\%.h
124 $(COPY_HEADER)
125$(CODECS_PH): $(INCLUDE_PRIVATE)\\%.h: src\codecs\\%.h
126 $(COPY_HEADER)
127$(STYLES_PH): $(INCLUDE_PRIVATE)\\%.h: src\styles\\%.h
128 $(COPY_HEADER)
129$(NETWORK_PH): $(INCLUDE_PRIVATE)\\%.h: src\network\\%.h
130 $(COPY_HEADER)
131$(XML_PH): $(INCLUDE_PRIVATE)\\%.h: src\xml\\%.h
132 $(COPY_HEADER)
133
134private_headers: $(PRIVATE_HEADERS)
135 @if not exist .private_headers echo updated > .private_headers
Note: See TracBrowser for help on using the repository browser.