projectroot/
|
+------------------------------+----------------------------+
| | |
include/ libs/ helloworld/
| | |
shader_utils.h shader_utils.c triangle.c
プロジェクトのルート ディレクトリの下に 3 つのディレクトリがあります。helloworld ディレクトリには、shader_utils.h (projectroot/include の下) に依存する三角形が含まれています。その定義は projectroot/libs. の下にあり、ここに私の make ファイルがあります。それの何が悪い。
#!bin/sh
CC=gcc
LDLIBS=-lglut -lGLEW -lGL
ROOT=/media/programming/experiments/projectroot
VPATH=../libs:../include
INC=-I$(ROOT)/include
all: triangle
triangle: triangle.o shader_utils.o
cc -c $(CFLAGS) $< -o $@ $(INC)
shader_utils.o: shader_utils.h
cc -c $(CFLAGS) $< -o $@ $(INC)
clean:
rm -f *.o triangle
.PHONY: all clean
作ろうとすると。それはこれを伝えます
cc -c ../include/shader_utils.h -o shader_utils.o -I/media/programming/experiments/projectroot/include
cc -c triangle.o -o triangle -I/media/programming/experiments/projectroot/include
cc: warning: triangle.o: linker input file unused because linking not done