アットウィキロゴ

Makefile

■ソースと同階層のMakefile

#!/bin/make

TARGET = Sample01

SRCS = $(shell ls *.cpp)

OBJS = $(SRCS:.cpp=.o)

CXX = g++

CXXFLAGS = -g -O2 -Wall

LDFLAGS = -lm -lrt -L/Develop/lib -lCmnFunc

INCLUDE = -I../inc -I../../CmnInc

DEST = ../../../bin

.cpp.o:

$(CXX) $(CXXFLAGS) $(INCLUDE) -c $<

$(TARGET): $(OBJS)

$(CXX) $(LDFLAGS) -o $(TARGET) $(OBJS)

cp $(TARGET) $(DEST)

clean:

$(RM) $(TARGET) $(OBJS)

$(RM) $(DEST)/$(TARGET)

◆ライブラリのmakefile

#!/bin/make

TARGET = libCmnFunc.so

SRCS = $(shell ls *.cpp)

OBJS = $(SRCS:.cpp=.o)

CXX = g++

CXXFLAGS = -g -O2 -Wall -fPIC

LDFLAGS = -lm -lrt -shared -Wl

INCLUDE = -I../../CmnInc

DEST = /Develop/lib/

.cpp.o:

$(CXX) $(CXXFLAGS) $(INCLUDE) -c $(SRCS)

$(TARGET): $(OBJS)

$(CXX) $(LDFLAGS) -o $(TARGET) $(OBJS)

cp $(TARGET) $(DEST)

clean:

$(RM) $(TARGET) $(OBJS)

■上位階層のMakefile

#!/bin/make

MAKE = make --no-print-directory

SUBDIR = $(shell find ./*/src/ -type d)

all:

list='$(SUBDIR)'; for subdir in $$list; do \

$(MAKE) -C $$subdir; \

done

clean:

list='$(SUBDIR)'; for subdir in $$list; do \

$(MAKE) clean -C $$subdir; \

done

最終更新:2014年07月27日 01:24