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 -