view 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
line wrap: on
line source

# $Id$

# Dynamic Windows EMX Makefile

CC = gcc
RM = rm -f
RC = rc
MAKE = make
COMPRESS = lxlite
include Version.mk
VER = $(DW_MAJOR_VERSION)$(DW_MINOR_VERSION)
VERDOT = $(DW_MAJOR_VERSION).$(DW_MINOR_VERSION)
AVERREV := $(shell os2\svnrev.cmd)
include SVN.REV

DEFS =
LIBS =

CFLAGS = -O -g -Zomf -Zmt -D__OS2__ -D__ST_MT_ERRNO__ -DUNICODE -DVER_REV=$(VERREV) -I. -Wall -o $(@)
LDFLAGS = -Zdll -static-libgcc
RCFLAGS = -r


COMPATOBJECTS = dwcompat.obj dirent.obj
COMPATSOURCES = dwcompat.c dirent.c

all: dw.dll dwcompat.dll dwtest.exe dwtestoo.exe

dw.dll:  os2\dw.c os2\dw.def
	$(CC) $(CFLAGS) $(DEFS) -o dw.dll os2/dw.c $(LDFLAGS) os2/dw.def

dw.lib: os2\dw.def
	emximp -o dw.lib os2\dw.def

dwcompat.dll:  $(COMPATOBJECTS) os2\dwcompat.def
	$(CC) $(CFLAGS) $(DEFS) -o dwcompat.dll $(COMPATOBJECTS) $(LDFLAGS) -lsocket os2/dwcompat.def

dwcompat.lib: os2\dwcompat.def
	emximp -o dwcompat.lib os2\dwcompat.def

dwtest.exe: dwtest.obj dw.lib dwcompat.lib
	$(CC) $(CFLAGS) -Zomf -Zmt -static-libgcc -Zlinker /pm:pm -o dwtest.exe dwtest.obj -Llib -ldw -ldwcompat os2/dwtest.def

dwtestoo.exe: dwtestoo.obj dw.lib dwcompat.lib
	$(CC) $(CFLAGS) -Zomf -Zmt -static-libgcc -Zlinker /pm:pm -o dwtestoo.exe dwtestoo.obj -Llib -ldw -ldwcompat -lstdc++ os2/dwtest.def


clean:
	$(RM) *.obj *.o *.lib *.res *~ dwtest.exe dwtestoo.exe dw.dll dwcompat.dll SVN.REV

dw.obj: dw.c
	$(CC) $(CFLAGS) -c $<	

dwcompat.obj: dwcompat.c
	$(CC) $(CFLAGS) -c $<	

dirent.obj: os2/dirent.c
	$(CC) $(CFLAGS) -c $<	

dwtest.obj: dwtest.c
	$(CC) $(CFLAGS) -c $<	

dwtestoo.obj: dwtestoo.cpp
	$(CC) $(CFLAGS) -std=c++11 -c $<	


zip: dw.dll
	cp os2/readme-os2.txt .
	zip dwindows-os2-$(VERDOT).zip readme-os2.txt readme.txt dw.dll dwcompat.dll dw.lib dwcompat.lib dw.h dwcompat.h