ftp://ftp.uni-heidelberg.de/pub/X11/contrib/applications/xscreensaver-1.27.tar.Z
[xscreensaver] / driver / Imakefile
1 /*
2  * Imakefile file for xscreensaver, Copyright (c) 1993-1996 Jamie Zawinski.
3  *
4  * You should not need to edit this file; edit ../config.h instead.
5  *
6  */
7
8 #include "../config.h"
9
10 /* #### If anyone ever finishes the Athena locking code, remove this. */
11 #if defined(NO_MOTIF) && !defined(NO_LOCKING)
12 # define NO_LOCKING
13 #endif
14
15 #ifdef NO_LOCKING
16 # undef INSTALL_SETUID
17 #endif
18
19 #ifdef HAVE_XIDLE_EXTENSION
20 # define XIDLE_DEF -DHAVE_XIDLE_EXTENSION
21 #else
22 # define XIDLE_DEF
23 #endif
24
25 #ifdef HAVE_MIT_SAVER_EXTENSION
26 # define MIT_SAVER_DEF -DHAVE_MIT_SAVER_EXTENSION
27 #else
28 # define MIT_SAVER_DEF
29 #endif
30
31 #ifdef HAVE_SGI_SAVER_EXTENSION
32 # define SGI_SAVER_DEF -DHAVE_SGI_SAVER_EXTENSION
33 #else
34 # define SGI_SAVER_DEF
35 #endif
36
37 #ifdef NO_LOCKING
38 # define LOCKING_DEF -DNO_LOCKING
39 #else
40 # define LOCKING_DEF
41 #endif
42
43 #ifdef NO_SETUID
44 # define SETUID_DEF -DNO_SETUID
45 #else
46 # define SETUID_DEF
47 #endif
48
49 #ifdef HAVE_SHADOW
50 # define SHADOW_DEF -DHAVE_SHADOW
51 #else
52 # define SHADOW_DEF
53 #endif
54
55 #ifdef NO_MOTIF
56 # define MOTIF_DEF -DNO_MOTIF
57 # define MOTIF_SRC
58 # define MOTIF_OBJ
59 # define MOTIF_LIB
60 # define MOTIF_INC
61 #else
62 # define MOTIF_DEF
63 # define MOTIF_SRC $(DBOX_SRCS) $(UTILS)/xroger.c
64 # define MOTIF_OBJ $(DBOX_OBJS) $(UTILS)/xroger.o
65 # define MOTIF_LIB $(MOTIFLDOPTIONS) $(MOTIFLIBS)
66 # define MOTIF_INC $(MOTIFINCLUDES)
67 #endif
68
69          UTILS = ../utils
70       INCLUDES = -I$(UTILS) MOTIF_INC
71        DEFINES = SETUID_DEF XIDLE_DEF MIT_SAVER_DEF SGI_SAVER_DEF MOTIF_DEF LOCKING_DEF SHADOW_DEF R5ISMS
72      SAVERLIBS = $(XMULIB) $(XTOOLLIB) $(EXTENSIONLIB) $(XLIB)
73       COMMLIBS = $(XLIB)
74      UTIL_SRCS = $(UTILS)/resources.c $(UTILS)/fade.c $(UTILS)/visual.c $(UTILS)/usleep.c $(UTILS)/yarandom.c
75      UTIL_OBJS = $(UTILS)/resources.o $(UTILS)/fade.o $(UTILS)/visual.o $(UTILS)/usleep.o $(UTILS)/yarandom.o
76      DBOX_SRCS = dialogs.c demo.c
77      DBOX_OBJS = dialogs.o demo.o
78      LOCK_SRCS = lock.c
79      LOCK_OBJS = lock.o
80      SAVERSRCS = xscreensaver.c timers.c subprocs.c windows.c stderr.c
81      SAVEROBJS = xscreensaver.o timers.o subprocs.o windows.o stderr.o
82          SRCS1 = $(SAVERSRCS) MOTIF_SRC $(LOCK_SRCS) $(UTIL_SRCS)
83          OBJS1 = $(SAVEROBJS) MOTIF_OBJ $(LOCK_OBJS) $(UTIL_OBJS)
84       COMMSRCS = xscreensaver-command.c
85       COMMOBJS = xscreensaver-command.o
86          SRCS2 = $(COMMSRCS)
87          OBJS2 = $(COMMOBJS)
88            MEN = xscreensaver.man xscreensaver-command.man
89       TARFILES = README Imakefile $(SAVERSRCS) $(DBOX_SRCS) $(LOCK_SRCS) \
90                  $(COMMSRCS) xscreensaver.h XScreenSaver.ad dialogs.xd \
91                  $(MEN) .gdbinit
92
93 #if defined(HPArchitecture) && !defined(NO_LOCKING)
94 EXTRA_LIBRARIES = -lXhp11       /* for XHPDisableReset() */
95 #endif
96
97 #if defined(NetBSDArchitecture) && !defined(NO_LOCKING)
98 EXTRA_LIBRARIES = -lcrypt
99 #endif
100
101 #if defined(i386ScoArchitecture)
102 EXTRA_LIBRARIES = -lintl -lprot -lx -lcrypt_i
103 #endif
104
105 all:: xscreensaver xscreensaver-command
106
107 echo_tarfiles:
108         @echo $(TARFILES)
109
110 PROGRAMS = xscreensaver xscreensaver-command
111
112 #ifdef INSTALL_SETUID
113 #undef  InstallProgram
114 #define InstallProgram(p,d) InstallProgramWithFlags(p,d,$(INSTUIDFLAGS))
115 #endif
116
117 ComplexProgramTarget_1(xscreensaver,MOTIF_LIB $(SAVERLIBS), $(HP_NULL_STR))
118
119 #ifdef INSTALL_SETUID
120 #undef  InstallProgram
121 #define InstallProgram(p,d) InstallProgramWithFlags(p,d,$(HP_NULL_STR))
122 #endif
123
124 ComplexProgramTarget_2(xscreensaver-command,$(COMMLIBS),$(HP_NULL_STR))
125
126 InstallAppDefaults(XScreenSaver)
127
128 xscreensaver.o: XScreenSaver.ad.h $(UTILS)/version.h
129 xscreensaver-command.o: $(UTILS)/version.h
130
131 demo.o: $(UTILS)/version.h
132 lock.o: $(UTILS)/version.h
133
134 /* build this before calling makedepend */
135 depend:: XScreenSaver.ad.h
136
137 XScreenSaver.ad.h: XScreenSaver.ad
138         $(UTILS)/ad2c XScreenSaver.ad > XScreenSaver.ad.h
139
140 clean::
141         $(RM) XScreenSaver.ad.h
142
143
144 #if defined(SparcArchitecture) || defined(SGIArchitecture)
145 # undef  UsePurify
146 # define UsePurify
147 #endif
148
149 #ifdef UsePurify
150         PURIFY = purify
151  PURIFYOPTIONS = 
152
153 # undef  PurifyProgramTarget
154 # define PurifyProgramTarget(program,deplist,linklist)                  @@\
155 program.pure: deplist                                                   @@\
156         RemoveTargetProgram($@)                                         @@\
157         $(CCENVSETUP) $(PURIFY) $(PURIFYOPTIONS) $(CC)                    \
158           -o $@ $(LDOPTIONS) linklist $(EXTRA_LOAD_FLAGS)
159
160 PurifyProgramTarget(xscreensaver,$(OBJS1),$(OBJS1) MOTIF_LIB $(SAVERLIBS))
161
162 #endif /* Purify */