X-Authentication-Warning: delorie.com: mailnull set sender to djgpp-bounces using -f From: "randaL" 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: 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 '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 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 ---------------------- e:\djgpp\djgpp.env ---------------------- [make] INCLUDE_PATH=%\>;INCLUDE_PATH%%\DJDIR%\include LIBRARY_PATH=%\>;LIBRARY_PATH%%\DJDIR%\lib BUTT=-m486 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