kompilacja z lini działa, a make się sypie

0

Witajcie,

Mam problem z plikiem Makefile, rzucicie okiem co jest źle?

kod mam podzielony na następujące moduły:

  1. main.c (zawiera pliki nagłówkowe a.h, b.h, c.h)
  2. a.c (zawiera pliki nagłówkowe a.h, c.h)
  3. b.c (zawiera pliki nagłówkowe a.h, b.h, c.h)
    kod kompiluję poleceniem: gcc -o program main.c a.c b.c -lm i działa pięknie.

próbuję swoich sił z poleceniem make, tworzę makefile i niestety wszystko się sypie:

a.out: main.o a.o b.o
	g++ main.o a.o b.o
	
main.o: main.c a.h b.h IJ.h
	g++ main.c -lm

a.o: a.c a.h c.h
	g++ a.c

b.o: b.c b.h a.h c.h
	g++ b.c -lm

Jeśli to jest banalna sprawa to dzięki za wskazanie poprawki, jeśli nie bardzo to również dziękuję za wszelką pomoc :-)

0

mała poprawka IJ. to oczywiście c.h :)

0

g++ main.c -lm

  1. Jeśli to -lm oznacza dołączenie biblioteki o nazwie m, to parametr ten powinien być na etapie linkowania (tylko) a nie kompilacji plików .c.

  2. g++ -c jeśli już, żeby nie próbował linkować, a tylko wypluł plik .o

  3. skoro pliki źródłowe mają rozszerzenie .c, to dlaczego używasz g++ a nie gcc?

1 użytkowników online, w tym zalogowanych: 0, gości: 1