ftp.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2002/04/01/01:30:24

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: Re: makefile problems
Lines: 184
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: <%VSp8.7282$nt1.583227@newsread2.prod.itd.earthlink.net>
Date: Mon, 01 Apr 2002 06:15:23 GMT
NNTP-Posting-Host: 67.227.187.24
X-Complaints-To: abuse AT earthlink DOT net
X-Trace: newsread2.prod.itd.earthlink.net 1017641723 67.227.187.24 (Sun, 31 Mar 2002 22:15:23 PST)
NNTP-Posting-Date: Sun, 31 Mar 2002 22:15:23 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

I never saw my message posted on my news server, only the single
reply to it, so I'm trying again.  The reply was:

^ I would lay heavy odds that if, instead of typeing make, you type
^ "dir example.c", you won't find it.  When make doesn't find
^ something it needs, it looks for a rule about how to make it.

which might be a clue, except that the file does exist, and I placed
a VPATH variable to point to them.

My original message follows with all pertinent information.
I'd appreciate some help on this...

"randaL" <randal AT teleport DOT com> wrote in message news:...
> 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