summaryrefslogtreecommitdiff
path: root/include/buildrules
blob: dab3faeda441027b0b69f9ba9313a974eda7db3a (plain)
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#
# Copyright (C) 1999 Silicon Graphics, Inc.  All Rights Reserved.
# 
# This program is free software; you can redistribute it and/or modify it
# under the terms of version 2 of the GNU General Public License as published
# by the Free Software Fondation.
# 
# This program is distributed in the hope that it would be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  Further, any license provided herein,
# whether implied or otherwise, is limited to this program in accordance with
# the express provisions of the GNU General Public License.  Patent licenses,
# if any, provided herein do not apply to combinations of this program with
# other product or programs, or any other product whatsoever.  This program is
# distributed without any warranty that the program is delivered free of the
# rightful claim of any third person by way of infringement or the like.  See
# the GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License along with
# this program; if not, write the Free Software Foundation, Inc., 59 Temple
# Place - Suite 330, Boston MA 02111-1307, USA.
# Common build rules for gmake
#
ifndef _BUILDRULES_INCLUDED_
_BUILDRULES_INCLUDED_ = 1

include $(TOPDIR)/include/builddefs

#
# Standard targets
#
ifdef CMDTARGET
$(CMDTARGET) : $(SUBDIRS) $(OBJECTS)
	$(CCF) -o $(CMDTARGET) $(LDFLAGS) $(OBJECTS) $(LDLIBS) 
$(CMDTARGET).static : $(SUBDIRS) $(OBJECTS)
	$(CCF) -static -o $(CMDTARGET).static $(LDFLAGS) $(OBJECTS) $(LDLIBS) 
endif

ifdef LIBTARGET
$(LIBTARGET) : $(SUBDIRS) $(OBJECTS)
	$(CC) $(LDFLAGS) -fPIC -shared -Wl,-soname,$(LIBTARGET) -o $(LIBTARGET) $(OBJECTS) $(LDLIBS)
endif

ifdef STATICLIBTARGET
$(STATICLIBTARGET) : $(SUBDIRS) $(OBJECTS)
	$(AR) crf $(STATICLIBTARGET) $?
endif

clean clobber : $(SUBDIRS)
	rm -f $(DIRT)
	$(SUBDIRS_MAKERULE)

# Never blow away subdirs
ifdef SUBDIRS
.PRECIOUS: $(SUBDIRS)
$(SUBDIRS):
	$(SUBDIRS_MAKERULE)
endif

source :
	$(SOURCE_MAKERULE)

endif

$(_FORCE):

.PHONY : depend

depend : $(CFILES) $(HFILES)
	$(SUBDIRS_MAKERULE)
	touch dep
	$(MAKEDEPEND) -fdep -- $(CFLAGS) -- $(CFILES)

# Include dep, but only if it exists
ifeq ($(shell test -f dep && echo dep), dep)
include dep
endif