1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#######################################################
#
# Generic makefile - Building Multi-targets.
# To build all targets separately.
#
# by Jackie Xie
# email: jackie.CPlusPlus@gmail.com
#
# Copyright (c) 2008 Jackie Xie
# All rights reserved.
#
# No warranty, no liability;
# you use this at your own risk.
#
# You are free to modify and
# distribute this without giving
# credit to the original author.
#
#######################################################
OS := $(shell uname -s)
CC = gcc
RM = rm
MAKE = make

SOURCE := $(wildcard *.c) $(wildcard *.cc) $(wildcard *.cxx) $(wildcard *.cpp)
#TARGET=$(shell target=""; for i in $(SOURCE); do target+=$(echo $i | awk -F"." '{ printf $1}'); target+=" "; done;)

CFLAGS = -fno-stack-protector -Wall

all:
	@TARGET=""; for i in $(SOURCE); do TARGET+=$$(echo $$i | awk -F"." '{ printf $$1}'); TARGET+=" "; done; \
	for i in $$TARGET; \
	do \
 #$(CC) -o "$$i" "$$i".c $(CFLAGS); \
		$(MAKE) $$i; \
	done;

clean:
	${RM} -f *.o *~
ifeq ($(strip $(OS)),Darwin)
	${RM} -f $$(file `find .` | grep "bit executable" | awk '{print $$1}' | sed 's/\.*\://')
else ifeq ($(strip $(OS)),Linux)
	${RM} -f $$(file `find .` | grep "bit ...* executable" | awk '{print $$1}' | sed 's/\.*\://')
endif

 

arrow
arrow
    文章標籤
    Makefile
    全站熱搜

    Bluelove1968 發表在 痞客邦 留言(0) 人氣()