Linux/make/Examples

Linux PKI Makefile
See Linux/make/Linux PKI Makefile

Makefile Tutorial by Example Advanced Makefile
CC=g++ CFLAGS=-c -Wall LDFLAGS= SOURCES=main.cpp hello.cpp factorial.cpp OBJECTS=$(SOURCES:.cpp=.o) EXECUTABLE=hello

all: $(SOURCES) $(EXECUTABLE) $(EXECUTABLE): $(OBJECTS) $(CC) $(LDFLAGS) $(OBJECTS) -o $@

.cpp.o:	$(CC) $(CFLAGS) $< -o $@

Source: http://mrbook.org/tutorials/make/

Hitachi Five FC HBA Kernel Module

 * 1) Makefile
 * 2) Copyright (C) 2007, Hitachi, Ltd.
 * 3) Author(s): Yoshihiro Toyohara 
 * 4) $Id: Makefile,v 1.20.2.1.2.1.2.4 2008/09/19 07:37:47 eteshima Exp $
 * 1) Author(s): Yoshihiro Toyohara 
 * 2) $Id: Makefile,v 1.20.2.1.2.1.2.4 2008/09/19 07:37:47 eteshima Exp $
 * 1) $Id: Makefile,v 1.20.2.1.2.1.2.4 2008/09/19 07:37:47 eteshima Exp $

HOSTTYPE := $(shell uname -m) OSVER := $(shell uname -r)

EXTRA_CFLAGS := -D_LINUX_COM -D__LINUX -DHFC_ENHANCED -DHFC_NON_HOTPLUG

HOSTTYPE := $(shell uname -m) ifeq ($(HOSTTYPE),ia64) EXTRA_CFLAGS += -DHFC_IA64_AS4 endif ifeq ($(HOSTTYPE),i686) EXTRA_CFLAGS += -DHFC_IA32_AS4 endif ifeq ($(HOSTTYPE),x86_64) EXTRA_CFLAGS += -DHFC_X8664_AS4 endif

MODS = hraslog_link.ko hfcldd_conf.ko hfcldd.ko OBJS = hraslog_link.o hfcldd_conf.o hfcldd.o TARGET = $(MODS)

.PHONY: allup

all : hraslog_linkup hfcldd_confup hfclddup moveup

allup : hraslog_linkup hfcldd_confup hfclddup moveup

hraslog_linkup : hraslog_link.c	make -C /lib/modules/$(OSVER)/build M=`pwd` V=1 modules >> result.log  2>> result.log

hfcldd_confup : hfcldd_conf.c	make -C /lib/modules/$(OSVER)/build M=`pwd` V=1 modules >> result.log  2>> result.log

hfclddup : hfcl_conf.c hfcl_detect.c hfcl_handler.c hfcl_diag.c hfcl_strategy.c hfcl_timer_recovery.c \ hfcl_top.c hfcl_ioctl.c hfcl_version.c hfcl_mlpf.c	make -C /lib/modules/$(OSVER)/build M=`pwd` V=1 modules >> result.log  2>> result.log

moveup : mkdir -p   $(OSVER) mv ./*.o   $(OSVER)/ mv ./*.ko  $(OSVER)/ mv ./.*.cmd $(OSVER)/ mv ./*.log $(OSVER)/

clean : rm -rf $(OSVER)
 * 1) 	make -C /lib/modules/$(OSVER)/build M=`pwd` V=1 clean

obj-m:= $(OBJS)

hfcldd-objs := hfcl_conf.o hfcl_detect.o hfcl_handler.o hfcl_diag.o hfcl_strategy.o hfcl_timer_recovery.o \ hfcl_top.o hfcl_ioctl.o hfcl_version.o hfcl_mlpf.o

clean-files := *.o *.ko *.mod.[co]