Mercurial > dwindows
annotate makefile.emx @ 2924:248e32f744f0
C++: Attempt to get dwtestoo working with old pre-lambda compilers.
Fixed a number of errors regarding this from the last commit, however...
GCC 4.2 errors out complaining about forward declaration of class Pixmap.
This forward definition is necessary to define some classes that reference
each other. The issue seems to be these old GCC implmentations expect...
that these classes be defined in different files. Since I forward declare
Pixmap before defining Render which uses it, then when I go to define
Pixmap, it is already forward declared and gives errors. This code
is legit, but the compiler implementation is erroring out....
Not sure how to fix this right now without defining them in separate files.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Thu, 29 Dec 2022 23:20:12 +0000 |
parents | ac404083dc6b |
children | 40a5e6946e2b |
rev | line source |
---|---|
638
3ce487327afd
Support for building binary for OS/2
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
525
diff
changeset
|
1 # $Id$ |
25
f9fd7238635c
Added EMX makefile.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
2 |
26
5e38361f823b
Removed old include directives.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
25
diff
changeset
|
3 # Dynamic Windows EMX Makefile |
25
f9fd7238635c
Added EMX makefile.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
4 |
f9fd7238635c
Added EMX makefile.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
5 CC = gcc |
f9fd7238635c
Added EMX makefile.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
6 RM = rm -f |
f9fd7238635c
Added EMX makefile.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
7 RC = rc |
f9fd7238635c
Added EMX makefile.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
8 MAKE = make |
f9fd7238635c
Added EMX makefile.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
9 COMPRESS = lxlite |
2881
ac404083dc6b
Rename the Version file Version.mk since it is included by the Makefiles.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
2871
diff
changeset
|
10 include Version.mk |
1350
4333b58d879d
Upped the version number to 2.2. Added a Version file to reduce the number of places
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1343
diff
changeset
|
11 VER = $(DW_MAJOR_VERSION)$(DW_MINOR_VERSION) |
4333b58d879d
Upped the version number to 2.2. Added a Version file to reduce the number of places
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1343
diff
changeset
|
12 VERDOT = $(DW_MAJOR_VERSION).$(DW_MINOR_VERSION) |
1343
d4c874f13e9b
More fixes for OS/2 gcc/gmake. Need to use := to evaluate the $(shell) variable.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1173
diff
changeset
|
13 AVERREV := $(shell os2\svnrev.cmd) |
1173
38e925147a60
Revert to using a file as the source for SVN revision number.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1172
diff
changeset
|
14 include SVN.REV |
25
f9fd7238635c
Added EMX makefile.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
15 |
f9fd7238635c
Added EMX makefile.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
16 DEFS = |
f9fd7238635c
Added EMX makefile.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
17 LIBS = |
f9fd7238635c
Added EMX makefile.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
18 |
1689
3fb7002e4de6
Unicode (UTF-8) mode on OS/2 as noted to me by Alex Taylor comes with
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1604
diff
changeset
|
19 CFLAGS = -O -g -Zomf -Zmt -D__OS2__ -D__ST_MT_ERRNO__ -DUNICODE -DVER_REV=$(VERREV) -I. -Wall -o $(@) |
1165
590740c9c5c6
Experimental change to link with static -lgcc...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1164
diff
changeset
|
20 LDFLAGS = -Zdll -static-libgcc |
25
f9fd7238635c
Added EMX makefile.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
21 RCFLAGS = -r |
f9fd7238635c
Added EMX makefile.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
22 |
f9fd7238635c
Added EMX makefile.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
23 |
1594
6baf177f335c
Rename compat.c/h dwcompat.c/h and configure option to --with-dwcompat.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1361
diff
changeset
|
24 COMPATOBJECTS = dwcompat.obj dirent.obj |
6baf177f335c
Rename compat.c/h dwcompat.c/h and configure option to --with-dwcompat.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1361
diff
changeset
|
25 COMPATSOURCES = dwcompat.c dirent.c |
25
f9fd7238635c
Added EMX makefile.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
26 |
2871
4b7c4cd7a11d
OS2: Fix building the C++ bindings on OS/2 with GCC.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
2778
diff
changeset
|
27 all: dw.dll dwcompat.dll dwtest.exe dwtestoo.exe |
263
10a34404c825
Add more dependencies.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
174
diff
changeset
|
28 |
1361
324812debcc9
Missed a couple .DEF file references on OS/2 and...
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1360
diff
changeset
|
29 dw.dll: os2\dw.c os2\dw.def |
1360
32a5be18e187
Source tree cleanup, move import/export definition files to their platform folder.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1350
diff
changeset
|
30 $(CC) $(CFLAGS) $(DEFS) -o dw.dll os2/dw.c $(LDFLAGS) os2/dw.def |
263
10a34404c825
Add more dependencies.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
174
diff
changeset
|
31 |
1360
32a5be18e187
Source tree cleanup, move import/export definition files to their platform folder.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1350
diff
changeset
|
32 dw.lib: os2\dw.def |
32a5be18e187
Source tree cleanup, move import/export definition files to their platform folder.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1350
diff
changeset
|
33 emximp -o dw.lib os2\dw.def |
638
3ce487327afd
Support for building binary for OS/2
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
525
diff
changeset
|
34 |
1360
32a5be18e187
Source tree cleanup, move import/export definition files to their platform folder.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1350
diff
changeset
|
35 dwcompat.dll: $(COMPATOBJECTS) os2\dwcompat.def |
32a5be18e187
Source tree cleanup, move import/export definition files to their platform folder.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1350
diff
changeset
|
36 $(CC) $(CFLAGS) $(DEFS) -o dwcompat.dll $(COMPATOBJECTS) $(LDFLAGS) -lsocket os2/dwcompat.def |
25
f9fd7238635c
Added EMX makefile.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
37 |
1360
32a5be18e187
Source tree cleanup, move import/export definition files to their platform folder.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1350
diff
changeset
|
38 dwcompat.lib: os2\dwcompat.def |
32a5be18e187
Source tree cleanup, move import/export definition files to their platform folder.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1350
diff
changeset
|
39 emximp -o dwcompat.lib os2\dwcompat.def |
25
f9fd7238635c
Added EMX makefile.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
40 |
2871
4b7c4cd7a11d
OS2: Fix building the C++ bindings on OS/2 with GCC.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
2778
diff
changeset
|
41 dwtest.exe: dwtest.obj dw.lib dwcompat.lib |
4b7c4cd7a11d
OS2: Fix building the C++ bindings on OS/2 with GCC.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
2778
diff
changeset
|
42 $(CC) $(CFLAGS) -Zomf -Zmt -static-libgcc -Zlinker /pm:pm -o dwtest.exe dwtest.obj -Llib -ldw -ldwcompat os2/dwtest.def |
4b7c4cd7a11d
OS2: Fix building the C++ bindings on OS/2 with GCC.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
2778
diff
changeset
|
43 |
4b7c4cd7a11d
OS2: Fix building the C++ bindings on OS/2 with GCC.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
2778
diff
changeset
|
44 dwtestoo.exe: dwtestoo.obj dw.lib dwcompat.lib |
4b7c4cd7a11d
OS2: Fix building the C++ bindings on OS/2 with GCC.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
2778
diff
changeset
|
45 $(CC) $(CFLAGS) -Zomf -Zmt -static-libgcc -Zlinker /pm:pm -o dwtestoo.exe dwtestoo.obj -Llib -ldw -ldwcompat -lstdc++ os2/dwtest.def |
4b7c4cd7a11d
OS2: Fix building the C++ bindings on OS/2 with GCC.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
2778
diff
changeset
|
46 |
263
10a34404c825
Add more dependencies.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
174
diff
changeset
|
47 |
638
3ce487327afd
Support for building binary for OS/2
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
525
diff
changeset
|
48 clean: |
2871
4b7c4cd7a11d
OS2: Fix building the C++ bindings on OS/2 with GCC.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
2778
diff
changeset
|
49 $(RM) *.obj *.o *.lib *.res *~ dwtest.exe dwtestoo.exe dw.dll dwcompat.dll SVN.REV |
263
10a34404c825
Add more dependencies.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
174
diff
changeset
|
50 |
525
2ff26b697877
Fixes for building with Innotek GCC. Will have to check for regressions
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
511
diff
changeset
|
51 dw.obj: dw.c |
25
f9fd7238635c
Added EMX makefile.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
52 $(CC) $(CFLAGS) -c $< |
f9fd7238635c
Added EMX makefile.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
53 |
1594
6baf177f335c
Rename compat.c/h dwcompat.c/h and configure option to --with-dwcompat.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1361
diff
changeset
|
54 dwcompat.obj: dwcompat.c |
263
10a34404c825
Add more dependencies.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
174
diff
changeset
|
55 $(CC) $(CFLAGS) -c $< |
25
f9fd7238635c
Added EMX makefile.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
56 |
525
2ff26b697877
Fixes for building with Innotek GCC. Will have to check for regressions
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
511
diff
changeset
|
57 dirent.obj: os2/dirent.c |
263
10a34404c825
Add more dependencies.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
174
diff
changeset
|
58 $(CC) $(CFLAGS) -c $< |
25
f9fd7238635c
Added EMX makefile.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
59 |
525
2ff26b697877
Fixes for building with Innotek GCC. Will have to check for regressions
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
511
diff
changeset
|
60 dwtest.obj: dwtest.c |
263
10a34404c825
Add more dependencies.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
174
diff
changeset
|
61 $(CC) $(CFLAGS) -c $< |
25
f9fd7238635c
Added EMX makefile.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
62 |
2871
4b7c4cd7a11d
OS2: Fix building the C++ bindings on OS/2 with GCC.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
2778
diff
changeset
|
63 dwtestoo.obj: dwtestoo.cpp |
4b7c4cd7a11d
OS2: Fix building the C++ bindings on OS/2 with GCC.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
2778
diff
changeset
|
64 $(CC) $(CFLAGS) -std=c++11 -c $< |
4b7c4cd7a11d
OS2: Fix building the C++ bindings on OS/2 with GCC.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
2778
diff
changeset
|
65 |
4b7c4cd7a11d
OS2: Fix building the C++ bindings on OS/2 with GCC.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
2778
diff
changeset
|
66 |
638
3ce487327afd
Support for building binary for OS/2
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
525
diff
changeset
|
67 zip: dw.dll |
2285
5113afb0aea9
OS/2: Fix a typo in that untested commit.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1692
diff
changeset
|
68 cp os2/readme-os2.txt . |
1604
7eb2e2d6b0be
OS/2 and Windows zip rules need to include dwcompat.h.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
1595
diff
changeset
|
69 zip dwindows-os2-$(VERDOT).zip readme-os2.txt readme.txt dw.dll dwcompat.dll dw.lib dwcompat.lib dw.h dwcompat.h |