Programming :: Module "Hello World" Makefile Is Missing Something?
Nov 24, 2010
I'm trying to run a "make" on a basic Makefile I created for a "Hello world" linux module, however if I run "make" or "make clean" it fails to work. I have to write more stuff in order to make it work (redundant stuff cause I define that stuff in the Makefile).
I have probably a stupid question. How do I add an include path for kernel module makefile? I want to include "test_kernel.h" in test_module.c test_kernel.h resides in a different directory with relative path "../../common/" . I can include the file specifying the relative path, which works OK:
#include "../../common/test_kernel.h"
I would like include it without the relative path and specify path in Makefile similar to -I option available in application makefiles. I have tried EXTRA_CFLAGS += -I../../common/ in the makefile but no use.
not entirely sure if this is a hardware or a kernel/distro issue but here goes: when trying to install the driver for an Intel e100 (82557) NIC (on an IBM Thinkpad A20m) I get the following from both <make> and <make install>....
make -C /lib/modules/2.6.30.9/build SUBDIRS=/root/e100-3.5.17/src modules make[1]: Entering directory /usr/src/linux-source-2.6.30.9 WARNING: Symbol version dump /usr/src/linux-source-2.6.30.9/Module.symvers is missing: modules will have no dependencies and modversions.scripts/Makefile.build:49 *** CFLAGS was changed in "/root/e100-3.5.17/src/Makefile". Fix it to use EXTRA CFLAGS. Stop.
I want to install mysql50-server and when I write make install clean. I receive this error: Makefile:34: *** missing separator. Stop.
Here is the code : # New ports collection makefile for:MySQL-server # Date created:Fri Apr 11 10:06:26 CET 2003 # Whom:Alex Dupre <sysadmin@alexdupre.com> # # $FreeBSD: ports/databases/mysql50-server/Makefile,v 1.251 2010/02/16 11:03:02 ale Exp $ #
I have a dell mini 10v with ubuntu. I have been trying reapteadly to try to get the ubutnu version of mana world on my laptop but it always says its missing a newline. Because i download the game from my synapic manager and it says its missing final newline.
I'm using openSUSE 11.1, KDE I'm trying to install the module Apache2::Request to my OS. After the gzip -dc libapreq2-2.12.tar.gz | tar -xof - I typed in Shell these (as shown in INSTALLATION document of module): perl Makefile.PL --with-apache2-apxs=/path/to/apache2/bin/apxs Then something goes wrong, make doesn't work saying: make: *** No targets specified and no makefile found. Stop..
I think the problem is in the command perl Makefile.PL --with-apache2-apxs=/path/to/apache2/bin/apxs in section .../path/to/apache2/bin/apxs . What does mean ./path/to/apache2/bin/apxs? Maybe I should write the path to apache2 which contains a file named apxs? I did not find such file apxs. My apache2 path is /etc/apache2, but there is no file named apxs... Result for perl Makefile.PL --with-apache2-apxs=/path/to/apache2/bin/apxs:
I just downloaded slackware 13.1(x86) and i'm trying to compile ndiswrapper-1.56 using the slackbuild from slackbuils.org and i'm getting this error:
Code:
Makefile:535: /usr/src/linux-2.6.33.4/arch/i486/Makefile: No such file or directory make[2]: *** No rule to make target `/usr/src/linux-2.6.33.4/arch/i486/Makefile'. Stop. make[1]: *** [modules] Error 2 make: *** [all] Error 2
I want to define _LINUX in my makefile which I would be using in my source code like #if _Linux. I do not want to #define _Linux __linux__ in my source code.
at present I compile the same code for different systems (cross compilers)I need to call libs and include paths for the different processors. At present I simply comment out the paths not needed
I am a beginner in Linux. Never did any kernel programming in Linux/Windows before. I am now on a project and I am supposed to understand a Linux Device Driver Code. It contains 6 .c files and 1 Makefile.
The make file goes as this:
I have a.c b.c c.c d.c d.c e.c f.c in the director along with the Makefile mentioned.
I'm trying to figure out how Make handles directories.
How can I modify this makefile so it will put all of the .o files in a separate build directory?
Code:
But make ignores this and still puts main.o in the base directory. And if I refer to the build directory in the dependencies for bandit, make complains about "no rule ..."
I want to keep main.cpp in the base directory, all other sources in the src directory, and all object files in the build directory.
When I put a "test" target in my Makefile containing Code: @echo "CXX= $(CXX)" it tells me "CXX= g++". But I have nothing in the Makefile assigning any value to CXX, and as far as I can tell I have no CXX environment variable (no "CXX" appears when I run the shell command "env", and "echo $CXX" returns a blank line. So where's the g++ value coming from. Is this just built into Gnu Make, or is there a configuration file for make somewhere?
I am trying to run a script to setup environment variables and then run other commands in a make file. But the source or the dot operator (shell is bash) does not seem to take any effect as the subsequent command didn't pick the environment up. Do I have to put every lines of the environment setup in the first script into the makefile instead?
I am new to automake. When running automake command, there is an error "cannot open > py/Makefile.in: No such file or directory". How to create that file? And, what is that file for?
I am trying to use a software package written in ANSI C. It has a makefile which has to be executed first.
As soon as I execute it I get messages like: line i: command not found.
Commands for which I am getting errors :
CC = /usr/bin/gcc GCCFLAGS = -c -Wall ROOTDIR = .
My gcc compiler is located in the above directory only. In ROOTDIR also I tried giving the path in which all the required files & folders are present but still I get the command not found error in all the lines.
It builds fine when I build from the command line ( make -f sample.mk).
However, it does not build when building from eclipse (which essentially calling the same makefile). The make output shows exactly the same as what I got from the command line build, except the last line showing
I'd like to write a Makefile for my CUDA/C++ code but I didn't know how things work with CUDA, I mean there is a nvcc compiler but I don't know what I've got to do with this. Do I have to firstly run nvcc and then g++ or only nvcc to compile my CUDA/C++ code ? I found nothing on the web explaining such basic things .
So I have been trying for 8 hours to try to get the index of an element from a list in a Makefile. The problem is that after I get the index using all the methods I have tried, the index cant be used in the "word" function:
for instance: $(OUTPUT2) : INDEX = $(shell echo $(OUTPUT2) | sed -r -e "s/[ ]+/ /g" | grep -n $@ | sed 's/^([0-9]*):.*/1/')
will create a variable INDEX defined specifically for each member of OUTPUT2, so that each output knows its index. Unfortunately, when I pass this $(INDEX) into word, it doesn't work:
$(OUTPUT2) : $(word $(INDEX), $(INPUT1)) $(word $(INDEX), $(INPUT2)) echo $(INAME) $(TMPBASE) $@ and I get the error: Makefile:16: *** non-numeric first argument to `word' function: 'num'. Stop.
I feel like if I could just convert a string to a Makefile acceptable number this would just work....
im trying to write a makefile which contains :two cpp files and two header files. now i've put cppfiles in a folder called source whose path is: /root/workspace/source and header files in a folder called header whose path is:
/root/workspace/makedemo/header
my makefile is in the path:/root/workspace/makedemo my makefile was like this:
Code:
HEADERS = $(shell /root/workspace/makedemo/header ls *.h) SOURCES = $(shell /root/workspace/source ls *.cpp) COMPILERFLAGS = -W -Wall DEBUGFLAGS = -g
[code].....
im sure that i've given the correct path but it is showing errors like this:
[root@localhost makedemo]# make /bin/sh: /root/workspace/source: is a directory /bin/sh: /root/workspace/source: is a directory g++ -W -Wall -I. -o output g++: no input files make: *** [output] Error 1
I know how to manually writing a makefile for my project, but I am new in using makefile & configure file generation tools like automake to generate a makefile and a configure script file.
I had done research on tutorials for generating makefile and configure script file.
I know that I need to manually write two files (makefile.am and configure.in).
I use wxWidgets GUI library, libconfig library, and libpcap library to do my project.
wx-config is a tool that can return the library files and include directory for wxWidgets library.
When using g++ to compile my files, I need to add in this line "`/wxlib/bin/wx-config --version=2.9 --static=yes --unicode=yes --debug=yes --libs`"
I'm trying to make recursive makefile work but it's giving me two problems. I have a top folder with the main Makefile and one Makefile for each sub folder 'one' and 'two'. Makefile in subfolder 'one' and 'two' are identical. The top Makefile (still a bit messy) looking like this:
Code: # Directories CC = gcc CFLAGS = -Wall -Wextra TARGET_DIR = bin MAIN_FILE = one.c
I've been trying to work out a way to stop chunks of code being compiled using a variable in my makefile but can't work it out. What I mean is for example in my code I might have.
/****output comms portdata********/ printf(" debug comms port %d",ReadPort("ttys1);
I only wish this code to be compiled when I'm debugging. What I've tried is using #ifdef with
#ifdef COMM_PORT_DEBUG printf(" debug comms port %d",ReadPort("ttys1); #endif
Then in my make file I set COMM_PORT_DEBUG to 1 so
DEBUG_DEFS = COMM_PORT_DEBUG=1
I then thought I could put it into my in my link line
I am interested in using fortran and an external library called matio used to save arrays to matlab .mat files. I have installed the matio and matio-dev packages from synaptics but i cannot compile a code receiving an error Code: christos@christos-laptop:~/Desktop$ gfortran -o test test.f90 -lmatio -lz test.f90:2.13: USE MATIO 1
Fatal Error: Can't open module file 'matio.mod' for reading at (1): No such file or directory How can i load a module in order to use it in fortran through the GCC compiler?
all i want is loading a simple c++ program like hello world with this driver. everything works fine except it doesnt start the program. because ret returns with 0 i think the program works fine but I think i messed up something about how to start the c++ program. i used this example for my program but it doesent work too.
[URL]
is there anybody out there who can give me a hint what i messed up? i use ubuntu with 2.6.32 Kernel.