Sponsored Content
Top Forums Programming Dependencies problem GNU automake Post 302281311 by Corona688 on Wednesday 28th of January 2009 03:02:39 PM
Old 01-28-2009
Quote:
Originally Posted by hembergb
Unfortunately, I have always had someone else to do the make files for my previous projects so I don't know how to create one for myself. That's why I thought the GNU tool would be ideal - it looks to me I just have to add a couple of parameters and the rest is done for me.
That was my intention when I used to use kdevelop, but it turns out that automake was finicky, impenetrable, slow(most projects can be compiled in their entirety several times over in the time configure spends checking the same things it checked the last 9000 times it ran), gigantic(probably larger than your project by a factor of ten or more), too often broke down for no good reason, inflexible(uh-oh, I need to add a new library -- time to regenerate my project from scratch!)... automake's next version upgrade obliterated all my projects when their scripts broke compatibility, forcing me to either recreate everything from scratch or just buckle down and learn makefiles already.

Makefiles turned out to be easy. autoconf just makes them look hard because it's so enormous and takes so many steps and spews so much clutter to do so little.

All a makefile does, is describe what files to turn into what files. It already has built-in rules to do most of what else you need. Here's a short example makefile that can transform a.cpp through f.cpp into 'executable' just by running 'make'.

Code:
# This file must be named Makefile and placed in the same dir as a.cpp through f.cpp

# The list of object files.  We don't need to tell it a.cpp, since
# make knows .o can be made from .c or .cpp and will search for it.
OBJS=a.o b.o c.o d.o e.o f.o

# Compiler flags go here.
CFLAGS=
# C++ specific compiler flags go here.  CFLAGS gets copied in.
CXXFLAGS=$(CFLAGS)
# Linker flags go here.  For example, let's link in the math library.
LDFLAGS=-lm

# Here we tell make that it needs a.o through f.o to build 'executable'.
# If it doesn't find them, it will build them.
# Note that there is a TAB in front of g++, not eight spaces.
executable:$(OBJS)
        g++ $(OBJS) $(LDFLAGS) -o executable
# Running 'make clean' will cause it to delete the objects and executable.
clean:
        rm -f $(OBJS) executable

 

9 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

automake

hi on machine automake 1.9 are install but i am not able create make file so please tell me what proper command to create make file using automake (1 Reply)
Discussion started by: munnu
1 Replies

2. Programming

automake/autoconf problem

hi, i'm fairly new with automake and i ran into a problem that i have found no solution for. so i have a setup where i don't want all the output files generated by the compiler and alike in my src directory, instead i created a build/unix folder and i have build/unix/config set for... (0 Replies)
Discussion started by: Akimaki
0 Replies

3. Programming

GNU GDB compile problem

I have to compile gnu-gdb 6.7 on HP-UX 11.11 with /usr/local/pa64/bin/gcc 64-bit compiler, but I'm having some problems during "make": ser-tcp.c: In function `net_open': ser-tcp.c:207: warning: passing arg 5 of `getsockopt' from incompatible pointer type make: *** Error 1 make: Leaving... (8 Replies)
Discussion started by: untamed
8 Replies

4. Linux

Help needed in dependencies problem in Fedora 8 VM

hi, I have installed a VM for Fedora 8 running on Windows Xp. And I have the following error:- Error: Missing Dependency: libgsl.so.0 is needed by package test Error: Missing Dependency: /usr/bin/gcc is needed by package test Error: Missing Dependency: libgslcblas.so.0 is needed by... (3 Replies)
Discussion started by: ahjiefreak
3 Replies

5. Red Hat

problem with Dependencies package !

Dear Friends , I am using RHEL 5 server . In Linux when I am going to install 'mod_ssl' rpm then I got the following error : # rpm -ivh mod_ssl-2.2.3-6.el5.i386.rpm --aid --force warning: mod_ssl-2.2.3-6.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 error: Failed... (5 Replies)
Discussion started by: shipon_97
5 Replies

6. UNIX for Advanced & Expert Users

KDE Needs Automake >= 1.6.1 -- I have 1.11

Hi, I'm on Fedora-11-x86_64 with KDevelop 3.5.4. I have automake 1.11 installed, but when I attempt to run automake and friends on a new project I get: *** YOU'RE USING automake (GNU automake) 1.11 *** KDE requires automake 1.6.1 or newer I reported(KDevelop) the error Bug: 210084 ... (11 Replies)
Discussion started by: lucelio
11 Replies

7. Shell Programming and Scripting

automake does not create Makefile.in

hi all, I have written a simple C program hello.c and a Makefile.ac but when i try to run automake it does not create Makefile.in hence I am not able to run ./configure command in my directory. Following are the containts of my prog. hello.c -------- Code: #include<stdio.h> main() {... (0 Replies)
Discussion started by: useless79
0 Replies

8. Shell Programming and Scripting

using automake and autoconf with C++

hi, I have written the Makefile.am and autoconf.ac files and am looking to build my project by providing the following commands: $autoreconf -f -i -m $./configure both of the above work fine, but when I give the make command, I get the following error: make all-am make: Entering directory... (0 Replies)
Discussion started by: bacpp
0 Replies

9. OS X (Apple)

GNU Sed Problem

Hi, I'm and Android developer using Mac OSX 10.7. I use Dsixda's Android Kitchen to develop my roms. I had it working fine on 10.6.8 and it still worked flawlessly when updating to 10.7. I installed Macports, and installed some packages, and then tried to run the Android Kitchen. I CD'd to the... (3 Replies)
Discussion started by: dmeadows013
3 Replies
AUTOMAKE(1)							   User Commands						       AUTOMAKE(1)

NAME
automake - manual page for automake 1.15.1 SYNOPSIS
automake-1.15 [OPTION]... [Makefile]... DESCRIPTION
Generate Makefile.in for configure from Makefile.am. Operation modes: --help print this help, then exit --version print version number, then exit -v, --verbose verbosely list files processed --no-force only update Makefile.in's that are out of date -W, --warnings=CATEGORY report the warnings falling in CATEGORY Dependency tracking: -i, --ignore-deps disable dependency tracking code --include-deps enable dependency tracking code Flavors: --foreign set strictness to foreign --gnits set strictness to gnits --gnu set strictness to gnu Library files: -a, --add-missing add missing standard files to package --libdir=DIR set directory storing library files --print-libdir print directory storing library files -c, --copy with -a, copy missing files (default is symlink) -f, --force-missing force update of standard files Warning categories include: gnu GNU coding standards (default in gnu and gnits modes) obsolete obsolete features or constructions override user redefinitions of Automake rules or variables portability portability issues (default in gnu and gnits modes) extra-portability extra portability issues related to obscure tools syntax dubious syntactic constructs (default) unsupported unsupported or incomplete features (default) all all the warnings no-CATEGORY turn off warnings in CATEGORY none turn off all the warnings error treat warnings as errors Files automatically distributed if found (always): ABOUT-GNU INSTALL config.rpath ltconfig ABOUT-NLS NEWS config.sub ltmain.sh AUTHORS README depcomp mdate-sh BACKLOG THANKS install-sh missing COPYING TODO libversion.in mkinstalldirs COPYING.DOC ar-lib ltcf-c.sh py-compile COPYING.LESSER compile ltcf-cxx.sh texinfo.tex COPYING.LIB config.guess ltcf-gcj.sh ylwrap ChangeLog Files automatically distributed if found (under certain conditions): acconfig.h config.h.bot configure configure.in aclocal.m4 config.h.top configure.ac stamp-vti AUTHOR
Written by Tom Tromey <tromey@redhat.com> and Alexandre Duret-Lutz <adl@gnu.org>. REPORTING BUGS
Report bugs to <bug-automake@gnu.org>. GNU Automake home page: <http://www.gnu.org/software/automake/>. General help using GNU software: <http://www.gnu.org/gethelp/>. COPYRIGHT
Copyright (C) 2017 Free Software Foundation, Inc. License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl-2.0.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. SEE ALSO
The full documentation for automake is maintained as a Texinfo manual. If the info and automake programs are properly installed at your site, the command info automake should give you access to the complete manual. automake 1.15.1 March 2018 AUTOMAKE(1)
All times are GMT -4. The time now is 05:58 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy