LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!

Notices


Reply
  Search this Thread
Old 07-04-2020, 10:04 AM   #1
TheJackal2020
LQ Newbie
 
Registered: Jul 2020
Posts: 11

Rep: Reputation: Disabled
make: *** No rule to make target `x64/sha1.o', needed by `link'. Stop


hi , i'm trying to build a github project using ubuntu 14.04,but no luck

here is the MakeFile contents :

Code:
GIT_VERSION := NANO-E0-$(shell git describe --abbrev=7 --dirty --always --tags)

OPTS = -DCHECK_NEXTDCW -DSID_FILTER -DNEWCACHE \
        -DCCCAM_CLI -DRADEGAST_CLI -DCAMD35_CLI -DCS378X_CLI \
        -DHTTP_SRV -DTELNET -DMGCAMD_SRV -DCCCAM_SRV -DCAMD35_SRV -DCS378X_SRV \
        -DEXPIREDATE -DDCWSWAP -DCACHEEX -DIPLIST -DTESTCHANNEL -DTHREAD_DCW \
        -DEPOLL_NEWCAMD -DEPOLL_CCCAM -DEPOLL_MGCAMD -DEPOLL_ECM -DPEERLIST \
            -DECMLIST -DFREECCCAM_SRV -DEPOLL_FREECCCAM \
            -DGIT_COMMIT=\"$(GIT_VERSION)\" -DSRV_CSCACHE
        ## -DEPOLL_CACHE 
        ## -DTESTCHANNEL -DDEBUG_NETWORK -DDEBUG_NETWORK2 -DMONOTHREAD_ACCEPT  
        ## -DRADEGAST_SRV  -DFREECCCAM_SRV -DEPOLL_CACHE
        ## -DMULTICONNECT -DRECVMSG_BLOC -DIPLIST
        ## -DCLI_CSCACHE -DSRV_CSCACHE



ifeq ($(target),x32)
  CC        = gcc
  OUTPUT    = x32
  CFLAGS    = -s -ggdb3 -m32 -O3 -I. $(OPTS) -DEPOLL_NEWCAMD -DEPOLL_ECM -std=gnu90
  LFLAGS    = $(CFLAGS)
else
ifeq ($(target),x64)
  CC        = gcc
  OUTPUT    = x64
  CFLAGS    = -s -ggdb3 -m64 -O3 -I. -fpack-struct $(OPTS) -DEPOLL_NEWCAMD -DEPOLL_ECM
  LFLAGS    = $(CFLAGS)
else
ifeq ($(target),ppc-old)
  CC        = /root/Desktop/tuxbox-cvs/root/cdk/bin/powerpc-tuxbox-linux-gnu-gcc
  OUTPUT    = ppc-old
  CFLAGS    = -s -ggdb3 -O2 $(OPTS) -DINOTIFY -DSTB
  LFLAGS    = $(CFLAGS)
else
ifeq ($(target),ppc)
  CC        = /opt/powerpc-tuxbox-linux-gnu/bin/powerpc-linux-gcc
  OUTPUT    = ppc
  CFLAGS    = -s -ggdb3 -O2 $(OPTS) -DINOTIFY -DSTB
  LFLAGS    = $(CFLAGS)
else
ifeq ($(target),mipsel)
  CC        = /opt/mipsel-unknown-linux-gnu/bin/mipsel-unknown-linux-gnu-gcc
  OUTPUT    = mipsel
  CFLAGS    = -s -ggdb3 -O2 $(OPTS) -DSTB -EL -march=mips1
  LFLAGS    = $(CFLAGS)
else
ifeq ($(target),mipsel-pli4)
  CC        = /opt/mipsel-tuxbox-linux-gnu/bin/mipsel-tuxbox-linux-gnu-gcc
  OUTPUT    = mipsel-pli4
  CFLAGS    = -s -ggdb3 -O2 $(OPTS) -DSTB -DEPOLL_NEWCAMD -DEPOLL_ECM
  LFLAGS    = $(CFLAGS)
else
ifeq ($(target),sparc)
  CC        = sparc-linux-gnu-gcc-4.7
  OUTPUT    = sparc
  CFLAGS    = -s -ggdb3 -O2 $(OPTS) -DSTB
  LFLAGS    = $(CFLAGS)
else
ifeq ($(target),sparc64)
  CC        = sparc64-linux-gnu-gcc
  OUTPUT    = sparc64
  CFLAGS    = -s -ggdb3 -O2 $(OPTS) -DSTB
  LFLAGS    = $(CFLAGS)
else
ifeq ($(target),sh4)
  CC        = /opt/STM/STLinux-2.4/devkit/sh4/bin/sh4-linux-gcc
  OUTPUT    = sh4
  CFLAGS    = -s -ggdb3 -O2 $(OPTS) -DST_7201 -DST_OSLINUX  -DARCHITECTURE_ST40 -DSTB -DEPOLL_NEWCAMD -DEPOLL_ECM
  LFLAGS    = $(CFLAGS)
else
ifeq ($(target),rpi)
#  CC        = /opt/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc
  CC        = gcc
  OUTPUT    = rpi
  CFLAGS    = -s -ggdb3 -O2 $(OPTS) -DEPOLL_NEWCAMD -DEPOLL_ECM -DNOPACK
  LFLAGS    = $(CFLAGS)
else

ifeq ($(target),arm-coolstream)
  CC        = /opt/arm-cx2450x-linux-gnueabi/bin/arm-cx2450x-linux-gnueabi-gcc
  OUTPUT    = arm-coolstream
  CFLAGS    = -s -ggdb3 -O2 $(OPTS) -DSTB -fPIC
  LFLAGS    = $(CFLAGS)
else
ifeq ($(target),mips-uclibc)
  CC        = /opt/cross-compiler-mips/bin/mips-gcc
  OUTPUT    = mips-uclibc
  CFLAGS    = -s -ggdb3 -O2 $(OPTS) -DSTB -fPIC
  LFLAGS    = $(CFLAGS)
else
ifeq ($(target),armeb)
  CC        = /opt/OpenWrt-SDK-ixp4xx-2.6-for-Linux-i686/staging_dir_armeb/bin/armeb-linux-uclibc-gcc
  OUTPUT    = armeb
  CFLAGS    = -s -ggdb3 -O2 $(OPTS) -DINOTIFY -DSTB
  LFLAGS    = $(CFLAGS)
else
ifeq ($(target),aarch64)
  CC        = aarch64-linux-gnu-gcc
  OUTPUT    = aarch64
  CFLAGS    = -s -ggdb3 -O2 $(OPTS) -DSTB -DEPOLL_NEWCAMD -DEPOLL_ECM
  LFLAGS    = $(CFLAGS)
else
ifeq ($(target),fritzbox)
  CC        = /opt/gcc-4.2.1-uClibc-0.9.29/mipsel-linux-uclibc/bin/mipsel-linux-uclibc-gcc-4.2.1
  OUTPUT    = fritzbox
  CFLAGS    = -s -ggdb3 -O2 $(OPTS) -DSTB
  LFLAGS    = $(CFLAGS)
else

ifeq ($(target),mips64)
  CC        = mips64-linux-gnu-gcc
  OUTPUT    = mips64
  CFLAGS    = -s -ggdb3 -O2 $(OPTS) -DSTB -DEPOLL_NEWCAMD -DEPOLL_ECM
  LFLAGS    = $(CFLAGS)
else
ifeq ($(target),ppc64el)
  CC        = powerpc64le-linux-gnu-gcc
  OUTPUT    = ppc64el
  CFLAGS    = -s -ggdb3 -O2 $(OPTS) -DSTB -DEPOLL_NEWCAMD -DEPOLL_ECM
  LFLAGS    = $(CFLAGS)
else
ifeq ($(target),win32)
  CC        = /usr/bin/i586-mingw32msvc-gcc
  OUTPUT    = win32
  CFLAGS    = -s -ggdb3 -O2 $(OPTS)
  LFLAGS    = $(CFLAGS) -D__USE_W32_SOCKETS -D_WIN32_WINDOWS=0x0501 -lws2_32 -lpthread --disable-stdcall-fixup -mno-cygwin
else
  CC        = gcc
  OUTPUT    = x
  CFLAGS    = -s -ggdb3 -O3 -m64 -I. -fpack-struct $(OPTS) -D_GNU_SOURCE # -DSIG_HANDLER ## -DRECVMSG_BLOCK ## -DICACHE # -DCACHEEX_CWCYCLE ##  ##  -D_FORTIFY_SOURCE=0 
  LFLAGS    = $(CFLAGS)
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif

ifndef name
    NAME    = multics
else
    AOUT    = $(name)
endif


OBJECTS = $(OUTPUT)/sha1.o $(OUTPUT)/des.o $(OUTPUT)/md5.o $(OUTPUT)/aes.o \
    $(OUTPUT)/dcw.o $(OUTPUT)/convert.o $(OUTPUT)/tools.o $(OUTPUT)/debug.o $(OUTPUT)/parser.o $(OUTPUT)/ipdata.o \
    $(OUTPUT)/threads.o $(OUTPUT)/sockets.o $(OUTPUT)/msg-newcamd.o $(OUTPUT)/msg-cccam.o $(OUTPUT)/msg-radegast.o $(OUTPUT)/config.o \
    $(OUTPUT)/ecmdata.o $(OUTPUT)/httpserver.o $(OUTPUT)/telnet.o $(OUTPUT)/main.o

link: $(OBJECTS)
    $(CC) -o $(OUTPUT)/$(NAME) $(LFLAGS) $(OBJECTS) -lpthread
    cp $(OUTPUT)/$(NAME) multics/$(NAME).$(OUTPUT)

%.o: ../%.c Makefile common.h config.h ecmdata.h
    $(CC) -c $(CFLAGS) $< -o $@

$(OUTPUT)/httpserver.o: httpserver.h httpbuffer.c httpserver.c

$(OUTPUT)/main.o: main.c Makefile common.h httpserver.h config.h clustredcache.c cacheex.c pipe.c pipe.h \
    th-ecm.c th-cfg.c th-dns.c th-date.c th-srv.c \
    srv-cccam.c srv-newcamd.c srv-mgcamd.c srv-radegast.c srv-freecccam.c srv-camd35.c srv-cs378x.c \
    cli-common.c cli-cccam.c cli-newcamd.c cli-radegast.c cli-camd35.c cli-cs378x.c

all:
    $(MAKE) target=ppc-old
    $(MAKE) target=ppc
    $(MAKE) target=mipsel
    $(MAKE) target=mipsel-pli4
    $(MAKE) target=sh4
    $(MAKE) target=sparc
    $(MAKE) target=arm-coolstream
    $(MAKE) target=rpi
    $(MAKE) target=fritzbox
    $(MAKE) target=armeb
    $(MAKE) target=aarch64
    $(MAKE) target=ppc64el

clean:
    -rm $(OUTPUT)/*

cleanall:
    $(MAKE) clean
    $(MAKE) target=x64 clean
    $(MAKE) target=x32 clean
    $(MAKE) target=ppc-old clean
    $(MAKE) target=ppc clean
    $(MAKE) target=mipsel clean
    $(MAKE) target=mipsel-pli4 clean
    $(MAKE) target=sh4 clean
    $(MAKE) target=sparc clean
    $(MAKE) target=arm-coolstream clean
    $(MAKE) target=rpi clean
    $(MAKE) target=fritzbox clean
    $(MAKE) target=armeb clean
    $(MAKE) target=aarch64 clean
    $(MAKE) target=ppc64el clean
    -rm multics/*
the run command from the documentation of the project is like this :

Code:
$ make target=?(ppc-old,ppc,mipsel,mipsel-pli4,sh4,sparc,arm-coolstream,rpi,fritzbox,armeb,aarch64,ppc64el)

when trying to run :

Code:
$ make target=x64
i get the following error :

Code:
make: *** No rule to make target `x64/sha1.o', needed by `link'.  Stop.
i'm running the command from within the directory containing the MakeFile and no luck , so what could be the issue ?!

Regards

Last edited by TheJackal2020; 07-04-2020 at 11:10 AM.
 
Old 07-04-2020, 10:43 AM   #2
shruggy
Senior Member
 
Registered: Mar 2020
Posts: 3,670

Rep: Reputation: Disabled
Try creating the directory in question:
Code:
mkdir x64
BTW,
Quote:
Originally Posted by TheJackal2020 View Post
using ubuntu 14.04
Code:
$ distro-info -f --supported
Ubuntu 16.04 LTS "Xenial Xerus"
Ubuntu 18.04 LTS "Bionic Beaver"
Ubuntu 19.10 "Eoan Ermine"
Ubuntu 20.04 LTS "Focal Fossa"
Ubuntu 20.10 "Groovy Gorilla"
 
Old 07-04-2020, 11:10 AM   #3
TheJackal2020
LQ Newbie
 
Registered: Jul 2020
Posts: 11

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by shruggy View Post
Try creating the directory in question:
Code:
mkdir x64
BTW,

Code:
$ distro-info -f --supported
Ubuntu 16.04 LTS "Xenial Xerus"
Ubuntu 18.04 LTS "Bionic Beaver"
Ubuntu 19.10 "Eoan Ermine"
Ubuntu 20.04 LTS "Focal Fossa"
Ubuntu 20.10 "Groovy Gorilla"
thanks a lot problem solved by adding the "x64" directory, i also needed to create a directory called "multics" to copy the file

Code:
link: $(OBJECTS)
    $(CC) -o $(OUTPUT)/$(NAME) $(LFLAGS) $(OBJECTS) -lpthread
    cp $(OUTPUT)/$(NAME) multics/$(NAME).$(OUTPUT)
thanks again .

Last edited by TheJackal2020; 07-04-2020 at 11:14 AM.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
make: *** No rule to make target `da.o', needed by `da.bin'. Stop. stf92 Programming 2 09-21-2013 01:54 PM
FFMPEG for APACHE 2.4.6 (x64), PHP 5.5 (x64), MYSQL 5.6 (x64) on WINDOWS 8 (x64) Punctual Programming 3 08-07-2013 05:20 PM
[SOLVED] make: *** No rule to make target `main.c', needed by `main.o'. Stop. renjith007 Linux - Newbie 3 02-07-2012 01:08 AM
iptables: rule with RETURN target just after a rule with ACCEPT target Nerox Linux - Networking 6 09-04-2011 03:33 PM
Help needed for make file problem : make: *** No rule to make target `flash', needed rameshsatyavaram Linux - Newbie 3 09-11-2008 02:13 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie

All times are GMT -5. The time now is 10:27 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration