comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

como empaquetar todo (librerias,.c,etc)en un .out en C

  • 1 Respuestas
  • 791 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Hackmundy

  • *
  • Underc0der
  • Mensajes: 88
  • Actividad:
    0%
  • Reputación 1
    • Ver Perfil
    • [H]ACKMUNDY - [L]ABS
« en: Septiembre 18, 2016, 06:37:50 pm »
Hola como estan no entiendo aun mucho de los makefile, pero me gustaria saber como puedo unir todas las librerias y codigo fuente usadas en .out.

SALUDOS y disculpen mi idnorancia.
« Última modificación: Septiembre 18, 2016, 07:22:36 pm por Gabriela »

Un Hacker sabe de la materia;
Un Lamer Cree Saberlo;
Y yo solo aprendo.

Desconectado grep

  • *
  • Underc0der
  • Mensajes: 178
  • Actividad:
    0%
  • Reputación 3
    • Ver Perfil
    • Grep's personal site
« Respuesta #1 en: Septiembre 19, 2016, 12:28:46 pm »
Un makeefile simple se compone de reglas. Las reglas tienen el siguiente formato:

Código: [Seleccionar]
target … : prerequisites …
        recipe

Las partes componentes de una regla, y su significado, son:
- target es el nombre de un archivo o de una acción.
- prerequisite es un archivo necesario para crear target.
- recipe es una acción (o un conjunto de acciones) a ejecutar. Un recipe comienza con una tabulación y no con espacios.


Para tu objetivo puedes hacer lo siguiente:

Código: [Seleccionar]
a.out : foo.c bar.c defs.h objeto.o /dir/to/archive/archive.a -lsome_dynamic_lib
cc -lsome_dynamic_lib foo.c bar.c objeto.o /dir/to/archive/archive.a

* Si esta es la primera regla en el makefile, entonces será la que se ejecutará por defecto al ejecutar make.

Esta regla especifica que:
 * Si no existe a.out, entonces ejecutar el recipe
 * Si existe a.out, pero los prerequisites (foo.c bar.c defs.h objeto.o /dir/to/archive/archive.a -lsome_dynamic_lib) han cambiado su fecha de modificación, entonces ejecutar el recipe.

Mi recipe es un comando común de cc. Como no especifico el parámetro -o, entonces cc crea el ejecutable a.out.

Hay muchas más funcionalidades que pueden facilitar la tarea de escribir reglas (GNU Make brinda muchas más).

Manual de GNU Make:
https://www.gnu.org/software/make/manual/make.html

Saludos

 

¿Te gustó el post? COMPARTILO!



¿Como fundear un "exe"? dejarle sin avs

Iniciado por iquitoshack

Respuestas: 5
Vistas: 3150
Último mensaje Junio 07, 2012, 02:52:34 pm
por Sanko
Usar memoria externa como memoria interna.

Iniciado por CthulhuRise97

Respuestas: 4
Vistas: 2401
Último mensaje Abril 30, 2018, 05:35:43 pm
por NERV0
Como obtener informacion de la DB "mysql" con SQLMap

Iniciado por DirectxTro

Respuestas: 3
Vistas: 1417
Último mensaje Marzo 09, 2016, 08:01:03 pm
por seth
[SOLUCIONADO] ¿Cómo hago peticiones sql cuando hay una "@"?

Iniciado por proxy_lainux

Respuestas: 4
Vistas: 1661
Último mensaje Febrero 02, 2017, 01:46:19 pm
por proxy_lainux
Cómo uso la "/" para hacer un select en una tabla

Iniciado por tetano32

Respuestas: 3
Vistas: 1038
Último mensaje Diciembre 20, 2017, 04:41:12 pm
por tetano32