summaryrefslogtreecommitdiff
path: root/scripts/makefile.watcom
blob: 983b4e309132abba22969c0955f79bd8a187b370 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# Makefile for libpng
# Watcom C/C++ 10.0 and later, 32-bit protected mode, flat memory model

# Copyright (C) 2000, Pawel Mrochen, based on makefile.msc which is
# copyright 1995 Guy Eric Schalnat, Group 42, Inc.
#
# This code is released under the libpng license.
# For conditions of distribution and use, see the disclaimer
# and license in png.h

# To use, do "wmake /f scripts\makefile.watcom"


# ---------------------- Watcom C/C++ 10.0 and later -----------------------

# Where the zlib library and include files are located
ZLIBLIB=..\zlib
ZLIBINC=..\zlib

# Target OS
OS=DOS
#OS=NT

# Target CPU
CPU=6		# Pentium Pro
#CPU=5		# Pentium

# Calling convention
CALLING=r	# registers
#CALLING=s	# stack

# Uncomment next to put error messages in a file
#ERRFILE=>>pngerrs

# --------------------------------------------------------------------------


CC=wcc386
CFLAGS=-$(CPU)$(CALLING) -fp$(CPU) -fpi87 -oneatx -mf -bt=$(OS) -i=$(ZLIBINC) -zq
LD=wcl386
LDFLAGS=-zq

O=.obj

OBJS1=png$(O) pngset$(O) pngget$(O) pngrutil$(O) pngtrans$(O) pngwutil$(O)
OBJS2=pngmem$(O) pngpread$(O) pngread$(O) pngerror$(O) pngwrite$(O)
OBJS3=pngrtran$(O) pngwtran$(O) pngrio$(O) pngwio$(O)


all: test

# see scripts/pnglibconf.mak for more options
# to support watcom calling conventions it is necessary to set PNG_API_RULE to 2
# in pnglibconf.h - copy scripts/pnglibconf.h.prebuilt, delete the first line and change
# the definition of PNG_API_RULE from 0 to 2.
#
# If you know how to do this with the Watcom build system please supply a patch
# for this makefile to the PNG implementation list.
pnglibconf.h: scripts/pnglibconf.h.prebuilt
	@echo please copy scripts/pnglibconf.h.prebuilt and change PNG_API_RULE to 2

png$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
	$(CC) $(CFLAGS) $*.c $(ERRFILE)

pngset$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
	$(CC) $(CFLAGS) $*.c $(ERRFILE)

pngget$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
	$(CC) $(CFLAGS) $*.c $(ERRFILE)

pngread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
	$(CC) $(CFLAGS) $*.c $(ERRFILE)

pngpread$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
	$(CC) $(CFLAGS) $*.c $(ERRFILE)

pngrtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
	$(CC) $(CFLAGS) $*.c $(ERRFILE)

pngrutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
	$(CC) $(CFLAGS) $*.c $(ERRFILE)

pngerror$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
	$(CC) $(CFLAGS) $*.c $(ERRFILE)

pngmem$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
	$(CC) $(CFLAGS) $*.c $(ERRFILE)

pngrio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
	$(CC) $(CFLAGS) $*.c $(ERRFILE)

pngwio$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
	$(CC) $(CFLAGS) $*.c $(ERRFILE)

pngtest$(O): png.h pngconf.h pnglibconf.h
	$(CC) $(CFLAGS) $*.c $(ERRFILE)

pngtrans$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
	$(CC) $(CFLAGS) $*.c $(ERRFILE)

pngwrite$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
	$(CC) $(CFLAGS) $*.c $(ERRFILE)

pngwtran$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
	$(CC) $(CFLAGS) $*.c $(ERRFILE)

pngwutil$(O): png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
	$(CC) $(CFLAGS) $*.c $(ERRFILE)

libpng.lib: $(OBJS1) $(OBJS2) $(OBJS3)
	wlib -b -c -n -q libpng.lib $(OBJS1)
	wlib -b -c -q libpng.lib $(OBJS2)
	wlib -b -c -q libpng.lib $(OBJS3)

pngtest.exe: pngtest.obj libpng.lib
	$(LD) $(LDFLAGS) pngtest.obj libpng.lib $(ZLIBLIB)\zlib.lib

test: pngtest.exe .symbolic
	pngtest.exe


# End of makefile for libpng