File: Makefile-win32.am

package info (click to toggle)
grisbi 1.0.0-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 22,604 kB
  • ctags: 6,257
  • sloc: ansic: 117,322; sh: 11,246; makefile: 785; perl: 370; xml: 11
file content (167 lines) | stat: -rw-r--r-- 5,189 bytes parent folder | download | duplicates (8)
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
#
# This file is automatically generated by autogen script
# DO NOT MODIFY IT, your change will disgarded
# vim:ft=make
# --------------------------------------------------------------------------
# Installation Directories
# --------------------------------------------------------------------------
WINGRISBIDIR = @WINGRISBIDIR@
BUILDDIR     = @BUILDDIR@ 
INSTSRCDIR  = @INSTSRCDIR@
GTKDEVDIR    = @GTKDEVDIR@
GCCBASEDIR   = @GCCBASEDIR@
PERLBASEDIR  = @PERLBASEDIR@
GETTEXTDIR   = @GETTEXTDIR@
PLUGINSDIR   = ../src/plugins

# --------------------------------------------------------------------------
# Applications ...
# --------------------------------------------------------------------------
CPP       = $(GCCBASEDIR)/bin/g++.exe
CC        = $(GCCBASEDIR)/bin/gcc.exe
GDB       = $(GCCBASEDIR)/bin/gdb.exe
MSGFMT    = $(GETTEXTDIR)/msgfmt.exe
WINDRES   = $(GCCBASEDIR)/bin/windres.exe
PERL      = $(PERLBASEDIR)/bin/perl.exe
	
# --------------------------------------------------------------------------
# Project Directories
# --------------------------------------------------------------------------
OBJDIR    = $(BUILDDIR)/obj
LOCALE    = $(BUILDDIR)/lib/locale
VPATH     = ../src:../win32 @PLUGINS@

.SUFFIXES:
.SUFFIXES: .c .o .res .rc .mo .po .dll .o

# --------------------------------------------------------------------------
# Project source files lists
# SRCS = Source files of the Un*x distribution
# WIN32= Source files added for Windows
# --------------------------------------------------------------------------
SRCS      = @SRCS@
WIN32     = @WIN32@
PLUGINS	  = @PLUGINS@

# --------------------------------------------------------------------------
#  Project build files lists
# --------------------------------------------------------------------------
OBJS      = ${patsubst %.c,$(OBJDIR)/%.o,$(SRCS)} ${patsubst %.c,$(OBJDIR)/%.o,$(WIN32)}
RES       = $(OBJDIR)/Grisbi_private.res
LINKOBJS  = $(OBJS) $(RES)
EXE       = $(BUILDDIR)/grisbi.exe

# --------------------------------------------------------------------------
# Commands parameters
# --------------------------------------------------------------------------
INCS      = @INCS@

CFLAGS    = @CFLAGS@

LIBS      = @LIBS@ 

LDFLAGS   = @LDFLAGS@

# ==========================================================================
# TARGETS
# ==========================================================================
# command lines targets
# --------------------------------------------------------------------------
#! Build all application and languages files.
all   : exe lang plugins

#! Only build application related files
exe   : $(EXE)

plugins: @PLUGINS@

lang = @LANGS@
	
#! Delete the builded files (.exe, .o, .mo) - does not affect files copied by the 'runtime' command
clean    : _clean-exe _clean-obj _clean-mo

#! Delete the builded files (.exe, .o, .mo) AND the files copied by the 'runtime' command
clean-all: _clean-exe _clean-obj _clean-mo _clean-runtime

# change target to set the default debugger
# debug : gdb to use console based gdb version
# debug : insight to use insight gui gdb interface
#! run the builded application in debug mode
debug : insight

#! run the builded application from the build directory
run   : exe 
	$(EXE)

gdb   : exe 
	$(GDB) -d ../src -d ../win32 $(EXE) 

insight:exe
	$(GCCBASEDIR)/bin/Insight/bin/usr/bin/insight.exe -d ../src -d ../win32 $(EXE)

	

# Usage targets
# --------------------------------------------------------------------------
usage :
	@echo "Usage: mingw32-make <target>"
	@echo "where <target> is one (more) of the following items"
	@$(PERL) -w -ne 'BEGIN{$$l=undef;} (/^\#\!/ )&& do {s/^\#\!\s*//;$$l=$$_ ;next;}; next unless($$l); m/^(.+)\s*:/; print "    $$1:\n        $$l"; $$l=undef;' Makefile

# configuration targets
# --------------------------------------------------------------------------
#! update the list of source files (.c) to build and link together (from src and win32 directories).
update:
	autogen --force Makefile

#! update the dependency rules of the Makefile.
depend: 
	makedepend -o.c -f../win32/Makefile -- $(CFLAGS) -- $(SRCS:%.c=../src/%.c) $(WIN32:%.c=../win32/%.c) $(PLUGINS:%c=../src/plugins/) 
	

# Clean targets
# --------------------------------------------------------------------------
_clean-exe:
	rm -f $(EXE) $(RES)

_clean-obj:
	rm -f $(OBJDIR)/*.o
	
_clean-mo:
	rm -f ../build/locale/*/LC_MESSAGES/grisbi.mo

_clean-runtime:
	autogen -f -runtime clean

# Build items targets
# --------------------------------------------------------------------------
$(EXE) : $(LINKOBJS) 
	@echo "Linking $@"
	@mkdir -p $(@D)
	+$(CC) -o $@ $(LINKOBJS) $(LDFLAGS)

$(PLUGINSDIR)/%.dll : $(OBJDIR)/%.o
	@echo "Linking plugins $@"
	$(CC) -o $@ $< $(LINKOBJS) $(LDFLAGS) -shared -Wl,--out-implib,$(@D)/$*.a

$(OBJDIR)/%.o : %.c
	@echo "Compiling $<"
	@mkdir -p $(@D)
	+$(CC) -o $@ -c $< $(CFLAGS)

$(LOCALE)/%/LC_MESSAGES/grisbi.mo : ../po/%.po
	@echo "Compiling $<"
	@mkdir -p $(@D)
	+$(MSGFMT) -o $@ $< 
	
$(OBJDIR)/%.res : %.rc
	@echo "Compiling $<"
	@mkdir -p $(@D)
	+$(WINDRES) --input-format=rc --output-format=coff --output=$@ --input=$< 


#
# DEPENDENCIES
# 
$(RES) : Grisbi_private.rc Grisbi.ico