make problem
Wolfram Wadepohl
W.Wadepohl@indumat.de
Wed Jul 12 01:49:00 GMT 2000
Hello,
iôm a newbie to gnu make after using MKS make for a couple of years. All
my makefiles worked perfectly under MKS make, but not under gnu make.
enclosed iôve the makefile, the debug output and the directory listing.
The error message is:
gmake: *** No rule to make target `memchr.c', needed by `memchr.o'.
Stop.
This is the makefile used:
#
*======================================================================*
# I INDUMAT GmbH & Co. KG, D-72770 Reutlingen
I
# I Transport- und Lagersysteme
I
#
I----------------------------------------------------------------------I
# I Elektronik Entwicklung
I
#
I======================================================================I
# I Autor | W. Wadepohl
I
#
I------------------+---------------------------------------------------I
# I Erstellungsdatum | 18-Mar-1999
I
#
I------------------+---------------------------------------------------I
# I Dateiname | makefile.
I
#
I------------------+---------------------------------------------------I
# I Zugehoerigkeit | ANSI 68k C Library
I
#
I------------------+---------------------------------------------------I
# I Kurzbeschreibung |
I
# I |
I
# I |
I
# I |
I
#
*======================================================================*
#
# Dieses Werk ist urheberrechtlich gesch?tzt. Alle Rechte vorbehalten.
# Copyright (C) 1998 INDUMAT GmbH & Co., D-72770 Reutlingen
#
# Aenderungen
#
# ## Datum Name Bemerkungen
# -- ----------- ----
-------------------------------------------------
# 01
#
# $Workfile$
# $Revision$
# $Modtime$
#
# $Logfile$
# $Date$
# $Author$
#
#
# macros defined outside
#
# X68DIR = path to X68 dir's (w/o trailing '/')
# X68CPU = cpu type
# X68ADB = as options
# X68CDB = gcc options
# X68OPT = gcc optimize level
#
# directories for special file types
#
# ./r object path
# ./l list path
# ./s source path, cia path
# ./h header path
X68EXE = $(X68DIR)\bin
X68HDR = $(X68DIR)/h
X68LIB = $(X68DIR)/lib
# translator options
OFILE = -o r/$(*F).o # object path and filename
LFILE = -al=l/$(*F).lst # list path and filename
AOPTS = -m68040 -M -I ../h -o r/$(*F).o -anl=l/$(*F).lst
--disp-size-default-16
COPTS = -m68040 -c -I ./h -I ../h -I $(X68HDR) -gcoff -D _MC68
LDOPTS= -v -stats -o r/$(*F).out
# search pathes for special file types
vpath %.o r
vpath %.h s h ../h $(X68HDR)
vpath %.c s
vpath %.s s
vpath %.slb s h $(X68HDR)
vpath %.mlb s h $(X68HDR)
vpath %.a $(X68LIB)
vpath %.lst l
# general rules
%.o:%.s; $(X68EXE)\as $(AOPTS) s/$(*F).s
%.out:%.o; $(X68EXE)\ld $(LDOPTS) $(*F).cmd
%.o:%.c; $(X68EXE)\gcc $(COPTS) s/$(*F).c $(OFILE)
string: memchr.o memcmp.o memcpy.o memmove.o memset.o \
strcat.o strchr.o strcmp.o strcpy.o strcspn.o \
strlen.o strncat.o strncmp.o strncpy.o strpbrk.o \
strrchr.o strspn.o strstr.o bcopy.o
memchr.o: memchr.c \
vcs.h stddef.h
memcmp.o: memcmp.c \
vcs.h stddef.h
memcpy.o: memcpy.c \
vcs.h stddef.h
memmove.o: memmove.c \
vcs.h stddef.h
memset.o: memset.c \
vcs.h stddef.h
strcat.o: strcat.c \
vcs.h stddef.h
strchr.o: strchr.c \
vcs.h stddef.h
strcmp.o: strcmp.c \
vcs.h stddef.h
strcpy.o: strcpy.c \
vcs.h stddef.h
strcspn.o: strcspn.c \
vcs.h stddef.h
strlen.o: strlen.c \
vcs.h stddef.h
strncat.o: strncat.c \
vcs.h stddef.h
strncmp.o: strncmp.c \
vcs.h stddef.h
strncpy.o: strncpy.c \
vcs.h stddef.h
strpbrk.o: strpbrk.c \
vcs.h stddef.h
strrchr.o: strrchr.c \
vcs.h stddef.h
strspn.o: strspn.c \
vcs.h stddef.h
strstr.o: strstr.c \
vcs.h stddef.h
bcopy.o: bcopy.c \
vcs.h stddef.h string.h
And finally the debugging output:
# GNU Make version 3.75-gnupro-98r2, by Richard Stallman and Roland
McGrath.
# Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96
# Free Software Foundation, Inc.
# This is free software; see the source for copying conditions.
# There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
# Report bugs to <bug-gnu-utils@prep.ai.mit.edu>.
# Make data base, printed on Wed Jul 12 10:34:18 2000
# Variables
# default
F77 = $(FC)
# makefile
LDOPTS = -v -stats -o r/$(*F).out
# default
PREPROCESS.r = $(FC) $(FFLAGS) $(RFLAGS) $(TARGET_ARCH) -F
# environment
PROMPT = $P$G
# makefile
X68HDR = $(X68DIR)/h
# automatic
@F = $(notdir $@)
# environment
COMSPEC = C:\WINNT35\system32\cmd.exe
# environment
T32TMP = d:\tmp
# environment
PCPLUS = c:\usr\pcp2
# environment
USERNAME = wadepohl
# default
MAKE = $(MAKE_COMMAND)
# default
SUFFIXES :=
# environment
TMPDIR = d:\tmp
# default
COMPILE.r = $(FC) $(FFLAGS) $(RFLAGS) $(TARGET_ARCH) -c
# default
LINK.F = $(FC) $(FFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)
# environment
OS = Windows_NT
# default
LINK.s = $(CC) $(ASFLAGS) $(LDFLAGS) $(TARGET_MACH)
# environment
DX_CNF = C:\usr\xtools
# environment
HOMEPATH = \home\wadepohl
# environment
!F: = F:\HOME\ansi68k\string
# makefile
OFILE = -o r/$(*F).o
# default
LINK.o = $(CC) $(LDFLAGS) $(TARGET_ARCH)
# environment
VCSCFG = x:\vcs.cfg
# environment
T32CONFIG = c:\usr32\t32\config.t32
# makefile
X68LIB = $(X68DIR)/lib
# default
TEXI2DVI = texi2dvi
# environment
!C: = C:\
# automatic
+F = $(notdir $+)
# default
COMPILE.f = $(FC) $(FFLAGS) $(TARGET_ARCH) -c
# environment
MAKESTARTUP = f:\home\x68k\bin\startup.mk
# makefile
LFILE = -al=l/$(*F).lst
# automatic
%F = $(notdir $%)
# environment
TMP = d:\tmp
# default
LINK.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)
# default
CO = co
# automatic
?D = $(patsubst %/,%,$(dir $?))
# environment
DXTDIR = c:\usr\xtools
# default
PREPROCESS.F = $(FC) $(FFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -F
# automatic
<D = $(patsubst %/,%,$(dir $<))
# default
M2C = m2c
# environment
PROCESSOR_ARCHITECTURE = x86
# default
FC = f77
# environment
X68DIR = f:\home\x68k
# default
CC = gcc
# environment
CCSDIR = f:\home\ccs68k
# default
LINK.S = $(CC) $(ASFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_MACH)
# default
CXX = gcc
# default
AR = ar
# environment
SYSTEMROOT = C:\WINNT35
# default
CWEAVE = cweave
# default
COMPILE.F = $(FC) $(FFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c
# environment
USER = wadepohl
# automatic
*D = $(patsubst %/,%,$(dir $*))
# automatic
^D = $(patsubst %/,%,$(dir $^))
# default
COMPILE.s = $(AS) $(ASFLAGS) $(TARGET_MACH)
# environment
T32ID = WAD
# default
SHELL := cmd.exe
# default
YACC = bison -y
# default
COMPILE.def = $(M2C) $(M2FLAGS) $(DEFFLAGS) $(TARGET_ARCH)
# default
LINK.C = $(LINK.cc)
# makefile
MAKEFLAGS = --win32 -rp
# default
LINK.p = $(PC) $(PFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)
# default
OUTPUT_OPTION = -o $@
# default
MAKE_VERSION := 3.75-gnupro-98r2
# environment
RTLDIR = f:\home\ansi68k
# default
PREPROCESS.S = $(CC) -E $(CPPFLAGS)
# environment
MAKELEVEL := 0
# environment
HOMEDRIVE = c:
# default
YACC.y = $(YACC) $(YFLAGS)
# default
COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c
# default
TANGLE = tangle
# environment
CYGROOT = f:\home\x68k
# default
CHECKOUT,v = +$(patsubst $@-noexist,$(CO) $(COFLAGS) $< $@,
$(filter-out $@,$(firstword $(wildcard $@) $@-noexist)))
# default
LD = ld
# environment
USERDOMAIN = SCAE1
# environment
INIT = c:\etc
# environment
DPATH = k:\ms\lib\;k:\ms\lib\prodinfo\;.\;
# environment
MFLAGS = --win32 -rp
# default
GET = get
# default
COMPILE.S = $(CC) $(ASFLAGS) $(CPPFLAGS) $(TARGET_MACH) -c
# default
PC = pc
# default
AS = as
# automatic
@D = $(patsubst %/,%,$(dir $@))
# default
TEX = tex
# environment
COMPUTERNAME = SCAE1
# default
COMPILE.C = $(COMPILE.cc)
# default
LINT = lint
# makefile
COPTS = -m68040 -c -I ./h -I ../h -I $(X68HDR) -gcoff -D _MC68
# default
F77FLAGS = $(FFLAGS)
# default
COMPILE.p = $(PC) $(PFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c
# default
RM = rm -f
# environment
TEMP = d:\tmp
# makefile
AOPTS = -m68040 -M -I ../h -o r/$(*F).o -anl=l/$(*F).lst
--disp-size-default-16
# environment
DOSBIN = c:\dos
# environment
PROCESSOR_LEVEL = 5
# automatic
+D = $(patsubst %/,%,$(dir $+))
# default
WEAVE = weave
# environment
VCSID = wadepohl@entwicklung@indumat-rt
# automatic
?F = $(notdir $?)
# environment
PROCESSOR_REVISION = 020c
# automatic
%D = $(patsubst %/,%,$(dir $%))
# environment
DX_TMP = d:\tmp
# environment
CYGREL = 98r2
# default
CPP = $(CC) -E
# automatic
<F = $(notdir $<)
# default
LEX = flex
# environment
MTXDIR = f:\home\mtx68k
# default
LINK.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)
# default
LEX.l = $(LEX) $(LFLAGS) -t
# default
COMPILE.mod = $(M2C) $(M2FLAGS) $(MODFLAGS) $(TARGET_ARCH)
# default
ARFLAGS = rv
# environment
GCC_EXEC_PREFIX = f:\home\x68k\bin
# environment
SYSTEMDRIVE = C:
# default
SCCS_OUTPUT_OPTION = -G$@
# makefile
X68EXE = $(X68DIR)\bin
# automatic
*F = $(notdir $*)
# automatic
^F = $(notdir $^)
# environment
WINDIR = C:\WINNT35
# environment
T32SYS = c:\usr32\t32
# default
LINT.c = $(LINT) $(LINTFLAGS) $(CPPFLAGS) $(TARGET_ARCH)
# default
LINK.r = $(FC) $(FFLAGS) $(RFLAGS) $(LDFLAGS) $(TARGET_ARCH)
# default
COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c
# environment
OS2LIBPATH = C:\WINNT35\system32\os2\dll;
# default
MAKEFILES :=
# environment
CRTMODE = co80,50
# default
CTANGLE = ctangle
# default
MAKE_COMMAND := gmake
# environment
PATH =
/home/x68k/bin://C/WINNT35/system32://C/WINNT35://c/etc://c/usr32://c/usr32/mks://c/usr://z://l/etc://k/etc://l/vcs://x/wadepohl/lbin
# environment
PROCESSOR_IDENTIFIER = x86 Family 5 Model 2 Stepping 12, GenuineIntel
# default
LINK.f = $(FC) $(FFLAGS) $(LDFLAGS) $(TARGET_ARCH)
# default
MAKEINFO = makeinfo
# environment
!EXITCODE = 00000000
# 132 variables in 523 hash buckets.
# average of 0.3 variables per bucket, max 3 in one bucket.
# Directories
#
/home/x68k/bin://C/WINNT35/system32://C/WINNT35://c/etc://c/usr32://c/usr32/mks://c/usr://z://l/etc://k/etc://l/vcs://x/wadepohl/lbin:
could not be stat'd.
# ../h (device 42, inode 302084711): No files, no impossibilities so
far.
# f:\home\x68k/h (device 42, inode 156022534): No files, no
impossibilities so far.
# r (device 42, inode 677979568): 2 files, no impossibilities.
# l (device 42, inode 678569399): No files, no impossibilities so far.
# f:\home\x68k/lib: could not be stat'd.
# . (device 42, inode 422743551): 12 files, no impossibilities.
# h (device 42, inode 678962616): No files, no impossibilities so far.
# s (device 42, inode 678143440): 21 files, no impossibilities.
# 35 files, no impossibilities in 9 directories.
# Implicit Rules
%.o: %.s
# commands to execute (from `MAKEFILE', line 84):
$(X68EXE)\as $(AOPTS) s/$(*F).s
%.out: %.o
# commands to execute (from `MAKEFILE', line 85):
$(X68EXE)\ld $(LDOPTS) $(*F).cmd
%.o: %.c
# commands to execute (from `MAKEFILE', line 86):
$(X68EXE)\gcc $(COPTS) s/$(*F).c $(OFILE)
# 3 implicit rules, 0 (0.0%) terminal.
# Files
# Not a target:
string.h:
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
# Not a target:
strcmp.c:
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
# Not a target:
strstr.c:
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
# Not a target:
memcpy.c:
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
# Not a target:
bcopy.c:
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
memset.o: memset.c vcs.h stddef.h
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
# Not a target:
.DEFAULT:
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
strcpy.o: strcpy.c vcs.h stddef.h
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
strncmp.o: strncmp.c vcs.h stddef.h
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
# Not a target:
stddef.h:
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
# Not a target:
vcs.h:
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
strcat.o: strcat.c vcs.h stddef.h
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
# Not a target:
strncpy.c:
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
strlen.o: strlen.c vcs.h stddef.h
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
strcspn.o: strcspn.c vcs.h stddef.h
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
# Not a target:
strrchr.c:
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
memchr.o: memchr.c memchr.c vcs.h stddef.h
# Implicit rule search has been done.
# Implicit/static pattern stem: `memchr'
# File does not exist.
# File has not been updated.
# commands to execute (from `MAKEFILE', line 86):
$(X68EXE)\gcc $(COPTS) s/$(*F).c $(OFILE)
# Not a target:
memmove.c:
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
strpbrk.o: strpbrk.c vcs.h stddef.h
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
strncat.o: strncat.c vcs.h stddef.h
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
strchr.o: strchr.c vcs.h stddef.h
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
# Not a target:
strspn.c:
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
# Not a target:
.SUFFIXES:
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
# Not a target:
memcmp.c:
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
string: memchr.o memcmp.o memcpy.o memmove.o memset.o strcat.o strchr.o
strcmp.o strcpy.o strcspn.o strlen.o strncat.o strncmp.o strncpy.o
strpbrk.o strrchr.o strspn.o strstr.o bcopy.o
# Implicit rule search has been done.
# File does not exist.
# File has not been updated.
strcmp.o: strcmp.c vcs.h stddef.h
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
strstr.o: strstr.c vcs.h stddef.h
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
# Not a target:
memset.c:
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
memcpy.o: memcpy.c vcs.h stddef.h
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
bcopy.o: bcopy.c vcs.h stddef.h string.h
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
# Not a target:
strcpy.c:
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
# Not a target:
strncmp.c:
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
# Not a target:
MAKEFILE:
# Implicit rule search has been done.
# Last modified Wed Jul 12 10:20:33 2000 (963390033)
# File has been updated.
# Successfully updated.
# Not a target:
strcat.c:
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
# Not a target:
strlen.c:
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
# Not a target:
strcspn.c:
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
strncpy.o: strncpy.c vcs.h stddef.h
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
# Not a target:
memchr.c:
# Implicit rule search has been done.
# File does not exist.
# File has not been updated.
# Not a target:
strpbrk.c:
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
# Not a target:
strncat.c:
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
strrchr.o: strrchr.c vcs.h stddef.h
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
memmove.o: memmove.c vcs.h stddef.h
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
# Not a target:
strchr.c:
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
strspn.o: strspn.c vcs.h stddef.h
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
memcmp.o: memcmp.c vcs.h stddef.h
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
# 45 files in 1007 hash buckets.
# average 4.5 files per bucket, max 1 files in one bucket.
# VPATH Search Paths
vpath %.o r
vpath %.h s;h;../h;f:\home\x68k/h
vpath %.c s
vpath %.s s
vpath %.slb s;h;f:\home\x68k/h
vpath %.mlb s;h;f:\home\x68k/h
vpath %.lst l
# 7 `vpath' search paths.
# No general (`VPATH' variable) search path.
# Finished Make data base on Wed Jul 12 10:34:18 2000
Thank you for your kind response.
--
Schöne GrüÃÂe aus Reutlingen
Wolfram Wadepohl
Entwicklung
--
INDUMAT GmbH & Co. KG
Transport- und Lagersysteme
DieselstraÃÂe 6
D-72770 Reutlingen - Betzingen
Tel. +49 (0)71 21/5 14-2 89
Fax +49 (0)71 21/5 14-2 99
eMail W.Wadepohl@indumat.de
WWW http://www.indumat.de
--
More information about the Binutils
mailing list