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