www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2002/03/29/00:19:29

X-Authentication-Warning: delorie.com: mailnull set sender to djgpp-bounces using -f
From: "randaL" <randal AT teleport DOT com>
Newsgroups: comp.os.msdos.djgpp
Subject: makefile problems
Lines: 164
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2600.0000
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
Message-ID: <oxSo8.2709$Xu6.270604@newsread2.prod.itd.earthlink.net>
Date: Fri, 29 Mar 2002 05:00:04 GMT
NNTP-Posting-Host: 67.227.234.163
X-Complaints-To: abuse AT earthlink DOT net
X-Trace: newsread2.prod.itd.earthlink.net 1017378004 67.227.234.163 (Thu, 28 Mar 2002 21:00:04 PST)
NNTP-Posting-Date: Thu, 28 Mar 2002 21:00:04 PST
Organization: EarthLink Inc. -- http://www.EarthLink.net
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

Hi all,
I've been trying to install Zlib libraries for DJGPP, but keep getting
makefile errors.

    make -f makefile.dj2

returns:

    make.exe: *** No rule to make target 'example.c' , needed by 'example.o'
.  Stop.

Everything that I've read in documentation and similar sites online says
that this should work.
Documentation for LibPNG says that Zlib must be installed first so I haven't
tried to make any
other files, but can do a compilation at the command line for simple
programs.  No errors -- and
most importantly: They work!  So I assume my installation of djgpp is
good... so I've read
documentation, tried different edits to no avail... even tried VPATH.
ack... whatta hairball.



The makefile I'm trying to use is the following, which is in the base
directory for zlib:

# Makefile for zlib.  Modified for djgpp v2.0 by F. J. Donahoe, 3/15/96.
# Copyright (C) 1995-1998 Jean-loup Gailly.
# For conditions of distribution and use, see copyright notice in zlib.h

# To compile, or to compile and test, type:
#
#   make -fmakefile.dj2;  make test -fmakefile.dj2
#
# To install libz.a, zconf.h and zlib.h in the djgpp directories, type:
#
#    make install -fmakefile.dj2
#
# after first defining LIBRARY_PATH and INCLUDE_PATH in djgpp.env as
# in the sample below if the pattern of the DJGPP distribution is to
# be followed. Remember that, while <sp>'es around <=> are ignored in
# makefiles, they are *not* in batch files or in djgpp.env.
# - - - - -
# [make]
# INCLUDE_PATH=%\>;INCLUDE_PATH%%\DJDIR%\include
# LIBRARY_PATH=%\>;LIBRARY_PATH%%\DJDIR%\lib
# BUTT=-m486
# - - - - -
# Alternately, these variables may be defined below, overriding the values
# in djgpp.env, as
# INCLUDE_PATH=c:\usr\include
# LIBRARY_PATH=c:\usr\lib

CC=gcc
VPATH=src:..\zlib
#CFLAGS=-MMD -O
#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
#CFLAGS=-MMD -g -DDEBUG
CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
      -Wstrict-prototypes -Wmissing-prototypes

# If cp.exe is available, replace "copy /Y" with "cp -fp" .
CP=copy /Y
# If gnu install.exe is available, replace $(CP) with ginstall.
INSTALL=$(CP)
# The default value of RM is "rm -f."  If "rm.exe" is found, comment out:
RM=del
LDLIBS=-L. -lz
LD=$(CC) -s -o
LDSHARED=$(CC)

INCL=zlib.h zconf.h
LIBS=libz.a

AR=ar rcs

prefix=/usr/local
exec_prefix = $(prefix)

OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
       zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o
inffast.o

TEST_OBJS = example.o minigzip.o

all: example.exe minigzip.exe
 echo $(INCLUDE_PATH)
 echo $(LIBRARY_PATH)

test: all
 ./example
 echo hello world | .\minigzip | .\minigzip -d
example.o : example.c example.rc
 $(CC) $(CFLAGS) -c $< -o $@
%.o : %.c
 $(CC) $(CFLAGS) -c $< -o $@

libz.a: $(OBJS) $(TEST_OBJS) #added '$(TEST_OBJS) ' for troubleshooting
 $(AR) $@ $(OBJS)
 $(AR) $@ $(TEST_OBJS) # added line entry for troubleshooting

%.exe : %.o $(LIBS)
 $(LD) $@ $< $(LDLIBS)


# INCLUDE_PATH and LIBRARY_PATH were set for [make] in djgpp.env .

.PHONY : uninstall clean

install: $(INCL) $(LIBS)
 -@if not exist $(INCLUDE_PATH)\nul mkdir $(INCLUDE_PATH)
 -@if not exist $(LIBRARY_PATH)\nul mkdir $(LIBRARY_PATH)
 $(INSTALL) zlib.h $(INCLUDE_PATH)
 $(INSTALL) zconf.h $(INCLUDE_PATH)
 $(INSTALL) libz.a $(LIBRARY_PATH)

uninstall:
 $(RM) $(INCLUDE_PATH)\zlib.h
 $(RM) $(INCLUDE_PATH)\zconf.h
 $(RM) $(LIBRARY_PATH)\libz.a

clean:
 $(RM) *.d
 $(RM) *.o
 $(RM) *.exe
 $(RM) libz.a
 $(RM) foo.gz

DEPS := $(wildcard *.d)
ifneq ($(DEPS),)
include $(DEPS)
endif

<eof>



I installed DJGPP at the root directory (e:\) and use the following bat and
env files:
-----------
djgpp.bat
-----------
set PATH=E:\DJGPP\BIN;%PATH%
set DJGPP=E:\DJGPP\DJGPP.ENV
<eof>
----------------------
e:\djgpp\djgpp.env
----------------------
<base install snipped for brevity but added the following at the end>
[make]
INCLUDE_PATH=%\>;INCLUDE_PATH%%\DJDIR%\include
LIBRARY_PATH=%\>;LIBRARY_PATH%%\DJDIR%\lib
BUTT=-m486
<eof>

I really do need to figure this out, I've been stumped for over a week and
would appreciate some help solving it.  I figure it's probably something
simple...I'm just not seein' it.

Thanks in advance,
randaL


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019