all repos — mgba @ 81a52403a3583039f4e571f1516cd0efe4872c4b

mGBA Game Boy Advance Emulator

src/third-party/libpng/scripts/makefile.bor (view raw)

  1# Makefile for libpng
  2# 16-bit Borland C++ (Note: All modules are compiled in C mode)
  3# To build the library, do:
  4#       "make -fmakefile.bor -DMODEL=c"
  5# or:   "make -fmakefile.bor -DMODEL=l"
  6#
  7# ------------ Borland C++ ------------
  8
  9### Absolutely necessary for this makefile to work
 10.AUTODEPEND
 11
 12## Where zlib.h, zconf.h and zlib_MODEL.lib are
 13ZLIB_DIR=..\zlib
 14
 15## Compiler, linker, librarian and other tools
 16CC=bcc
 17LD=bcc
 18LIB=tlib
 19CP=copy
 20
 21!ifndef MODEL
 22MODEL=l
 23!endif
 24
 25MODEL_ARG=-m$(MODEL)
 26
 27#TARGET_CPU=3
 28# 2 = 286, 3 = 386, etc.
 29!ifndef TARGET_CPU
 30TARGET_CPU=2
 31!endif
 32
 33# Use this if you don't want Borland's fancy exception handling
 34# (for Borland C++ 4.0 or later)
 35#NOEHLIB=noeh$(MODEL).lib
 36
 37!ifdef DEBUG
 38CDEBUG=-v
 39LDEBUG=-v
 40!else
 41CDEBUG=
 42LDEBUG=
 43!endif
 44
 45# STACKOFLOW=1
 46!ifdef STACKOFLOW
 47CDEBUG=$(CDEBUG) -N
 48LDEBUG=$(LDEBUG) -N
 49!endif
 50
 51# -X- turn on dependency generation in the object file
 52# -w  set all warnings on
 53# -O2 optimize for speed
 54# -Z  global optimization
 55CPPFLAGS=-I$(ZLIB_DIR)
 56CFLAGS=-O2 -Z -X- -w -$(TARGET_CPU) $(MODEL_ARG) $(CDEBUG)
 57
 58# -M  generate map file
 59LDFLAGS=-M -L$(ZLIB_DIR) $(MODEL_ARG) $(LDEBUG)
 60
 61# Pre-built configuration
 62# See scripts\pnglibconf.mak for more options
 63!ifndef PNGLIBCONF_H_PREBUILT
 64PNGLIBCONF_H_PREBUILT = scripts\pnglibconf.h.prebuilt
 65!endif
 66
 67## Variables
 68
 69OBJS = \
 70	png.obj \
 71	pngerror.obj \
 72	pngget.obj \
 73	pngmem.obj \
 74	pngpread.obj \
 75	pngread.obj \
 76	pngrio.obj \
 77	pngrtran.obj \
 78	pngrutil.obj \
 79	pngset.obj \
 80	pngtrans.obj \
 81	pngwio.obj \
 82	pngwrite.obj \
 83	pngwtran.obj \
 84	pngwutil.obj
 85
 86LIBOBJS = \
 87	+png.obj \
 88	+pngerror.obj \
 89	+pngget.obj \
 90	+pngmem.obj \
 91	+pngpread.obj \
 92	+pngread.obj \
 93	+pngrio.obj \
 94	+pngrtran.obj \
 95	+pngrutil.obj \
 96	+pngset.obj \
 97	+pngtrans.obj \
 98	+pngwio.obj \
 99	+pngwrite.obj \
100	+pngwtran.obj \
101	+pngwutil.obj
102
103LIBNAME=libpng$(MODEL).lib
104
105## Implicit rules
106
107# Braces let make "batch" calls to the compiler,
108# 2 calls instead of 12; space is important.
109.c.obj:
110	$(CC) $(CPPFLAGS) $(CFLAGS) -c {$*.c }
111
112.c.exe:
113	$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $*.c \
114	  $(LIBNAME) zlib_$(MODEL).lib $(NOEHLIB)
115
116## Major targets
117
118all: libpng pngtest
119
120# try !include scripts\pnglibconf.mak for more options
121pnglibconf.h: $(PNGLIBCONF_H_PREBUILT)
122	$(CP) $(PNGLIBCONF_H_PREBUILT) $@
123
124libpng: $(LIBNAME)
125
126pngtest: pngtest$(MODEL).exe
127
128test: pngtest$(MODEL).exe
129	pngtest$(MODEL)
130
131## Minor Targets
132
133png.obj: png.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
134pngerror.obj: pngerror.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
135pngget.obj: pngget.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
136pngmem.obj: pngmem.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
137pngpread.obj: pngpread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
138pngread.obj: pngread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
139pngrio.obj: pngrio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
140pngrtran.obj: pngrtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
141pngrutil.obj: pngrutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
142pngset.obj: pngset.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
143pngtrans.obj: pngtrans.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
144pngwio.obj: pngwio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
145pngwrite.obj: pngwrite.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
146pngwtran.obj: pngwtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
147pngwutil.obj: pngwutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
148
149$(LIBNAME): $(OBJS)
150	-del $(LIBNAME)
151	$(LIB) $(LIBNAME) @&&|
152$(LIBOBJS), libpng$(MODEL)
153|
154
155pngtest$(MODEL).obj: pngtest.c png.h pngconf.h pnglibconf.h
156	$(CC) $(CFLAGS) -opngtest$(MODEL) -c pngtest.c
157
158pngtest$(MODEL).exe: pngtest$(MODEL).obj
159	$(LD) $(LDFLAGS) pngtest$(MODEL).obj $(LIBNAME) zlib_$(MODEL).lib $(NOEHLIB)
160
161# Clean up anything else you want
162clean:
163	-del pnglibconf.h
164	-del *.obj
165	-del *.exe
166	-del *.lib
167	-del *.lst
168	-del *.map
169
170# End of makefile for libpng