mirror of
				https://git.code.sf.net/p/libpng/code.git
				synced 2025-07-10 18:04:09 +02:00 
			
		
		
		
	 5310158c37
			
		
	
	
		5310158c37
		
	
	
	
	
		
			
			similarly-named macros are already defined in makefiles. This behavior is different from POSIX make and other make programs. Surround the macro definitions with ifndef guards (Cosmin).
		
			
				
	
	
		
			171 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			171 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # Makefile for libpng
 | |
| # 16-bit Borland C++ (Note: All modules are compiled in C mode)
 | |
| # To build the library, do:
 | |
| #       "make -fmakefile.bor -DMODEL=c"
 | |
| # or:   "make -fmakefile.bor -DMODEL=l"
 | |
| #
 | |
| # ------------ Borland C++ ------------
 | |
| 
 | |
| ### Absolutely necessary for this makefile to work
 | |
| .AUTODEPEND
 | |
| 
 | |
| ## Where zlib.h, zconf.h and zlib_MODEL.lib are
 | |
| ZLIB_DIR=..\zlib
 | |
| 
 | |
| ## Compiler, linker, librarian and other tools
 | |
| CC=bcc
 | |
| LD=bcc
 | |
| LIB=tlib
 | |
| CP=copy
 | |
| 
 | |
| !ifndef MODEL
 | |
| MODEL=l
 | |
| !endif
 | |
| 
 | |
| MODEL_ARG=-m$(MODEL)
 | |
| 
 | |
| #TARGET_CPU=3
 | |
| # 2 = 286, 3 = 386, etc.
 | |
| !ifndef TARGET_CPU
 | |
| TARGET_CPU=2
 | |
| !endif
 | |
| 
 | |
| # Use this if you don't want Borland's fancy exception handling
 | |
| # (for Borland C++ 4.0 or later)
 | |
| #NOEHLIB=noeh$(MODEL).lib
 | |
| 
 | |
| !ifdef DEBUG
 | |
| CDEBUG=-v
 | |
| LDEBUG=-v
 | |
| !else
 | |
| CDEBUG=
 | |
| LDEBUG=
 | |
| !endif
 | |
| 
 | |
| # STACKOFLOW=1
 | |
| !ifdef STACKOFLOW
 | |
| CDEBUG=$(CDEBUG) -N
 | |
| LDEBUG=$(LDEBUG) -N
 | |
| !endif
 | |
| 
 | |
| # -X- turn on dependency generation in the object file
 | |
| # -w  set all warnings on
 | |
| # -O2 optimize for speed
 | |
| # -Z  global optimization
 | |
| CPPFLAGS=-I$(ZLIB_DIR)
 | |
| CFLAGS=-O2 -Z -X- -w -$(TARGET_CPU) $(MODEL_ARG) $(CDEBUG)
 | |
| 
 | |
| # -M  generate map file
 | |
| LDFLAGS=-M -L$(ZLIB_DIR) $(MODEL_ARG) $(LDEBUG)
 | |
| 
 | |
| # Pre-built configuration
 | |
| # See scripts\pnglibconf.mak for more options
 | |
| !ifndef PNGLIBCONF_H_PREBUILT
 | |
| PNGLIBCONF_H_PREBUILT = scripts\pnglibconf.h.prebuilt
 | |
| !endif
 | |
| 
 | |
| ## Variables
 | |
| 
 | |
| OBJS = \
 | |
| 	png.obj \
 | |
| 	pngerror.obj \
 | |
| 	pngget.obj \
 | |
| 	pngmem.obj \
 | |
| 	pngpread.obj \
 | |
| 	pngread.obj \
 | |
| 	pngrio.obj \
 | |
| 	pngrtran.obj \
 | |
| 	pngrutil.obj \
 | |
| 	pngset.obj \
 | |
| 	pngtrans.obj \
 | |
| 	pngwio.obj \
 | |
| 	pngwrite.obj \
 | |
| 	pngwtran.obj \
 | |
| 	pngwutil.obj
 | |
| 
 | |
| LIBOBJS = \
 | |
| 	+png.obj \
 | |
| 	+pngerror.obj \
 | |
| 	+pngget.obj \
 | |
| 	+pngmem.obj \
 | |
| 	+pngpread.obj \
 | |
| 	+pngread.obj \
 | |
| 	+pngrio.obj \
 | |
| 	+pngrtran.obj \
 | |
| 	+pngrutil.obj \
 | |
| 	+pngset.obj \
 | |
| 	+pngtrans.obj \
 | |
| 	+pngwio.obj \
 | |
| 	+pngwrite.obj \
 | |
| 	+pngwtran.obj \
 | |
| 	+pngwutil.obj
 | |
| 
 | |
| LIBNAME=libpng$(MODEL).lib
 | |
| 
 | |
| ## Implicit rules
 | |
| 
 | |
| # Braces let make "batch" calls to the compiler,
 | |
| # 2 calls instead of 12; space is important.
 | |
| .c.obj:
 | |
| 	$(CC) $(CPPFLAGS) $(CFLAGS) -c {$*.c }
 | |
| 
 | |
| .c.exe:
 | |
| 	$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $*.c \
 | |
| 	  $(LIBNAME) zlib_$(MODEL).lib $(NOEHLIB)
 | |
| 
 | |
| ## Major targets
 | |
| 
 | |
| all: libpng pngtest
 | |
| 
 | |
| # try !include scripts\pnglibconf.mak for more options
 | |
| pnglibconf.h: $(PNGLIBCONF_H_PREBUILT)
 | |
| 	$(CP) $(PNGLIBCONF_H_PREBUILT) $@
 | |
| 
 | |
| libpng: $(LIBNAME)
 | |
| 
 | |
| pngtest: pngtest$(MODEL).exe
 | |
| 
 | |
| test: pngtest$(MODEL).exe
 | |
| 	pngtest$(MODEL)
 | |
| 
 | |
| ## Minor Targets
 | |
| 
 | |
| png.obj: png.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
 | |
| pngerror.obj: pngerror.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
 | |
| pngget.obj: pngget.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
 | |
| pngmem.obj: pngmem.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
 | |
| pngpread.obj: pngpread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
 | |
| pngread.obj: pngread.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
 | |
| pngrio.obj: pngrio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
 | |
| pngrtran.obj: pngrtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
 | |
| pngrutil.obj: pngrutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
 | |
| pngset.obj: pngset.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
 | |
| pngtrans.obj: pngtrans.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
 | |
| pngwio.obj: pngwio.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
 | |
| pngwrite.obj: pngwrite.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
 | |
| pngwtran.obj: pngwtran.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
 | |
| pngwutil.obj: pngwutil.c png.h pngconf.h pnglibconf.h pngpriv.h pngstruct.h pnginfo.h pngdebug.h
 | |
| 
 | |
| $(LIBNAME): $(OBJS)
 | |
| 	-del $(LIBNAME)
 | |
| 	$(LIB) $(LIBNAME) @&&|
 | |
| $(LIBOBJS), libpng$(MODEL)
 | |
| |
 | |
| 
 | |
| pngtest$(MODEL).obj: pngtest.c png.h pngconf.h pnglibconf.h
 | |
| 	$(CC) $(CFLAGS) -opngtest$(MODEL) -c pngtest.c
 | |
| 
 | |
| pngtest$(MODEL).exe: pngtest$(MODEL).obj
 | |
| 	$(LD) $(LDFLAGS) pngtest$(MODEL).obj $(LIBNAME) zlib_$(MODEL).lib $(NOEHLIB)
 | |
| 
 | |
| # Clean up anything else you want
 | |
| clean:
 | |
| 	-del pnglibconf.h
 | |
| 	-del *.obj
 | |
| 	-del *.exe
 | |
| 	-del *.lib
 | |
| 	-del *.lst
 | |
| 	-del *.map
 | |
| 
 | |
| # End of makefile for libpng
 |