File: Win32.rules

package info (click to toggle)
dpm-postgres 1.7.4.7-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 13,788 kB
  • ctags: 10,782
  • sloc: ansic: 146,136; sh: 13,362; perl: 11,142; python: 5,529; cpp: 5,113; sql: 1,790; makefile: 955; fortran: 113
file content (82 lines) | stat: -rw-r--r-- 2,228 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
/*
 * Copyright (C) 1997-2005 by CERN/IT/PDP/DM
 * All rights reserved
 */

/*
 * @(#)$RCSfile: Win32.rules,v $ $Revision: 1.2 $ $Date: 2005/03/31 14:58:06 $ CERN IT-PDP/DM   Jean-Philippe Baud
 */

.c.obj:
	$(CC) -c $*.c @<<
	$(CFLAGS)
<<

.SUFFIXES: .c .robj
.c.robj:
	$(CC) $(MTCCFLAGS) /Fo$@ -c $*.c @<<
	$(CFLAGS)
<<

#define DepSourceName(dirname,source) ..\ ## dirname\ ## source
#define FileName(dirname,basename) dirname\ ## basename

#define LibraryTargetName(libname) libname.lib

#define NormalLibraryTarget(libname,objects) \
LibraryTargetName(libname): objects			@@\
	$(AR) @<<					@@\
/out:$@ $**						@@\
<<

#define DepLibraryTargetName(dir,libname) ..\ ## dir\ ## LibraryTargetName(libname)
#define SharedLibraryTargetName(libname) libname.dll
#define DepSharedLibraryTargetName(dir,libname) ..\ ## dir\ ## SharedLibraryTargetName(libname)

#define MakeDepLibrary(dir,libname) \
DepLibraryTargetName(dir,libname):	FORCE		@@\
	pushd ..\ ## dir & $(MAKE) LibraryTargetName(libname) & popd

#define ProgramTargetName(target) target.exe

#define NormalProgramTarget(program,objects,deplibs,libs) \
ProgramTargetName(program): objects deplibs		@@\
        $(LD) @<<					@@\
/out:$@ $(LDFLAGS) objects libs				@@\
<<

#define MakeSubdirs(name,dirs) \
name:							@@\
	@for %i in ( dirs ) \				@@\
	do @(echo %i - & cd %i & \			@@\
		$(MAKE) $(MFLAGS) $@ & cd .. )

#define MakeCondSubdirs(name,dirs,cond) \
name: cond							@@\
	@for %i in ( dirs ) \				@@\
	do @(echo %i - & cd %i & \			@@\
		$(MAKE) $(MFLAGS) $@ & cd .. )

#define RemoveFile(file) if exist file $(RM) file

#define RemoveFiles(files) for %i in ( files ) do @RemoveFile(%i)

#define InstallTarget(file,owner,group,mode,dest)	@@\
FileName(dest,file): file				@@\
	@if exist $@ \					@@\
		( RemoveFile(FileName(dest,OLD$?)) & \	@@\
		ren $@ FileName(dest,OLD$?) )		@@\
	copy $? $@

#define InstallLibrary(libname,dest,owner,group,mode)	@@\
InstallTarget(LibraryTargetName(libname),owner,group,mode,dest)

#define InstallSharedLibrary(libname,rev,dest)		@@\
dest\SharedLibraryTargetName(libname): SharedLibraryTargetName(libname)	@@\
	copy $? $@.rev					@@\
	copy $? $@

#define MakeDir(dirname,owner,group,mode)		@@\
dirname:						@@\
	-mkdir $@