File: Makefile.gcc

package info (click to toggle)
dpuser 4.3%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 14,628 kB
  • sloc: cpp: 148,693; ansic: 18,648; fortran: 5,815; lex: 1,116; makefile: 760; yacc: 741; sh: 390; pascal: 98
file content (138 lines) | stat: -rw-r--r-- 5,106 bytes parent folder | download
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
################################################################################
####       QFitsView Makefile
################################################################################
# Type one of the following lines:
#   make                    same as 'make release'
#   make release            (static, 32/64-bit autodetected)
#   make release_shared     (shared, 32/64-bit autodetected)
#   make debug              (static, 32/64-bit autodetected)
#   make debug_shared       (shared, 32/64-bit autodetected)
#   make CYGWIN=-y          WIN only, target for CYGWIN-environment
#   make clean              to clean up the project
#   make revision           creates the revision-string
#   make dist               LINUX/MACOSX only to create a distribution as
#                           tar.gz-file, calls automatically the revision-target
#                           (do a checkout to a new location before, since all
#                           .svn-folders will be deleted!)
#
#
#   make parsers PLATFORM=LINUX (or MACOSX or WIN)
#                          to create just the parsers and lexers for dpuser,
#                          dpuser2c & idl2c
#   make dpuser2c_header PLATFORM=LINUX (or MACOSX or WIN)
#                          to create just the dpuser2c.h-file
################################################################################

PARSER_DIR   = ../dpuser/parser
DPUSER2C_DIR = ../dpuser/dpuser2c
DP_PATH      = ../dpuser

ifeq ($(HOMEDRIVE), C:)
   OS     = WIN
   SED    = ../bin/WIN/sed.exe -i
   RM     = del
   RMDIR  = rmdir
else
   ifeq ($(TERM_PROGRAM), Apple_Terminal)
      OS  = MACOSX
      SED = sed -i ''
   else
      OS  = LINUX
      SED = sed -i''
   endif
   RM	  = rm -rf
endif

ifeq ($(wildcard qfitsview.mk),) 
    DO_CLEAN = NO
else 
    DO_CLEAN = YES
endif

################################################################################
##### main targets #####
all: release

all_base: doc_helpmap revision parsers

# static binaries
release: all_base qmake-release_static qfitsview
debug:   all_base qmake-debug_static qfitsview

ifeq ($(OS), WIN)
# shared binaries for Windows
release_shared: all_base qfits-dll qmake-release_shared qfitsview
debug_shared:   all_base qfits-dll-debug qmake-debug_shared qfitsview
else
# shared binaries forLinux/MacOS 
release_shared: all_base qmake-release_shared qfitsview
debug_shared:   all_base qmake-debug_shared qfitsview
endif

################################################################################
##### sub targets #####
# create documentation
doc_helpmap:
	$(MAKE) -C $(DP_PATH) doc/helpmap.cpp

# updates the revision in parser/svn_revision.h
revision:
	$(MAKE) -C $(DP_PATH) revision

# builds parser and dpuser2c-source-files
parsers:
	$(MAKE) -C $(DP_PATH) parsers

##### create Makefiles for QFitsView #####
# release-version, shared
qmake-release_shared:
	qmake QFitsView.pro "CONFIG+=release qf_shared"

# release-version, static, without dll's
qmake-release_static:
	qmake QFitsView.pro "CONFIG+=release qf_static"

# debug-version, shared
qmake-debug_shared:
	qmake QFitsView.pro "CONFIG+=debug qf_shared"

# debug-version, static
qmake-debug_static:
	qmake QFitsView.pro "CONFIG+=debug qf_static"

# special targets for Windows, shared-version
ifeq ($(OS), WIN)
qfits-dll:
	qmake QFitsView_dll.pro "CONFIG+=release qf_shared"
	$(MAKE) $(MULTIPROZGEIL) -f QFitsView_dll.mk

qfits-dll-debug:
	qmake QFitsView_dll.pro "CONFIG+=debug qf_shared"
	$(MAKE) $(MULTIPROZGEIL) -f QFitsView_dll.mk
endif

# effectively building QFitsView
qfitsview:
	$(MAKE) $(MULTIPROZGEIL) -f qfitsview.mk

################################################################################
clean:
	$(if $(DO_CLEAN:NO=), \
		$(MAKE) $(MULTIPROZGEIL) -if qfitsview.mk clean \
	)
#	$(MAKE) $(MULTIPROZGEIL) -C $(DP_PATH) clean_qf PLATFORM=$(OS)
	$(if $(OS:WIN=), \
		-$(RM) -rf QFitsView QFitsViewD qfitsview.mk qfitsview.mk.Debug qfitsview.mk.Release QFitsView.app QFitsViewD.app QFitsView.pro.user* ../include/vtk/vtkConfigure.h qfitsviewd_plugin_import.cpp qfitsview_plugin_import.cpp \
	, \
		$(RM) QFitsView_dll.mk QFitsView_dll.mk.Release QFitsView_dll.mk.Debug qfitsview.mk qfitsview.mk.Release qfitsview.mk.Debug object_script.QFitsView.Debug object_script.QFitsView.Release object_script.QFitsViewD.Debug object_script.QFitsViewD.Release /f; \
		$(RMDIR) /s /q release debug \
	)
		
#	$(if $(OS:WIN=), \
#		-$(RM) -rf QFitsView QFitsViewD qfitsview.mk qfitsview.mk.Debug qfitsview.mk.Release QFitsView.app QFitsViewD.app QFitsView.pro.user* ../include/vtk/vtkConfigure.h qfitsviewd_plugin_import.cpp \
#	, \
#		$(RM) QFitsView_dll.mk QFitsView_dll.mk.Release QFitsView_dll.mk.Debug qfitsview.mk qfitsview.mk.Release qfitsview.mk.Debug object_script.QFitsView.Debug object_script.QFitsView.Release object_script.QFitsViewD.Debug object_script.QFitsViewD.Release /f ;\
#		$(RMDIR) release debug \
#	)
	
#		$(MAKE) $(MULTIPROZGEIL) -f QFitsView_dll.mk clean; \