http://www.ibiblio.org/pub/historic-linux/ftp-archives/sunsite.unc.edu/Sep-29-1996...
[xscreensaver] / driver / Imakefile
1 /*
2  * Imakefile file for xscreensaver, Copyright (c) 1993-1995 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_SAVER_EXTENSION
26 # define SAVER_DEF -DHAVE_SAVER_EXTENSION
27 #else
28 # define SAVER_DEF
29 #endif
30
31 #ifdef NO_LOCKING
32 # define LOCKING_DEF -DNO_LOCKING
33 #else
34 # define LOCKING_DEF
35 #endif
36
37 #ifdef NO_SETUID
38 # define SETUID_DEF -DNO_SETUID
39 #else
40 # define SETUID_DEF
41 #endif
42
43 #ifdef HAVE_SHADOW
44 # define SHADOW_DEF -DHAVE_SHADOW
45 #else
46 # define SHADOW_DEF
47 #endif
48
49 #ifdef NO_MOTIF
50 # define MOTIF_DEF -DNO_MOTIF
51 # define MOTIF_SRC
52 # define MOTIF_OBJ
53 # define MOTIF_LIB
54 # define MOTIF_INC
55 #else
56 # define MOTIF_DEF
57 # define MOTIF_SRC $(DBOX_SRCS) $(UTILS)/xroger.c
58 # define MOTIF_OBJ $(DBOX_OBJS) $(UTILS)/xroger.o
59 # define MOTIF_LIB $(MOTIFLDOPTIONS) $(MOTIFLIBS)
60 # define MOTIF_INC $(MOTIFINCLUDES)
61 #endif
62
63          UTILS = ../utils
64       INCLUDES = -I$(UTILS) MOTIF_INC
65        DEFINES = SETUID_DEF XIDLE_DEF SAVER_DEF MOTIF_DEF LOCKING_DEF SHADOW_DEF R5ISMS
66      SAVERLIBS = $(XMULIB) $(XTOOLLIB) $(EXTENSIONLIB) $(XLIB) -lm
67       COMMLIBS = $(XLIB) -lm
68      UTIL_SRCS = $(UTILS)/resources.c $(UTILS)/fade.c $(UTILS)/visual.c $(UTILS)/usleep.c $(UTILS)/yarandom.c
69      UTIL_OBJS = $(UTILS)/resources.o $(UTILS)/fade.o $(UTILS)/visual.o $(UTILS)/usleep.o $(UTILS)/yarandom.o
70      DBOX_SRCS = dialogs.c demo.c
71      DBOX_OBJS = dialogs.o demo.o
72      LOCK_SRCS = lock.c
73      LOCK_OBJS = lock.o
74      SAVERSRCS = xscreensaver.c timers.c subprocs.c windows.c stderr.c
75      SAVEROBJS = xscreensaver.o timers.o subprocs.o windows.o stderr.o
76          SRCS1 = $(SAVERSRCS) MOTIF_SRC $(LOCK_SRCS) $(UTIL_SRCS)
77          OBJS1 = $(SAVEROBJS) MOTIF_OBJ $(LOCK_OBJS) $(UTIL_OBJS)
78       COMMSRCS = xscreensaver-command.c
79       COMMOBJS = xscreensaver-command.o
80          SRCS2 = $(COMMSRCS)
81          OBJS2 = $(COMMOBJS)
82            MEN = xscreensaver.man xscreensaver-command.man
83       TARFILES = README Imakefile $(SAVERSRCS) $(DBOX_SRCS) $(LOCK_SRCS) \
84                  $(COMMSRCS) xscreensaver.h XScreenSaver.ad dialogs.xd \
85                  $(MEN) .gdbinit
86
87 #if defined(HPArchitecture) && !defined(NO_LOCKING)
88 EXTRA_LIBRARIES = -lXhp11       /* for XHPDisableReset() */
89 #endif
90
91 #if defined(i386ScoArchitecture)
92         SCOLIBS = -lintl -lprot -lx -lcrypt_i
93 #endif
94
95 all:: xscreensaver xscreensaver-command
96
97 echo_tarfiles:
98         @echo $(TARFILES)
99
100 PROGRAMS = xscreensaver xscreensaver-command
101
102 #ifdef INSTALL_SETUID
103 #undef  InstallProgram
104 #define InstallProgram(p,d) InstallProgramWithFlags(p,d,$(INSTUIDFLAGS))
105 #endif
106
107 ComplexProgramTarget_1(xscreensaver,MOTIF_LIB $(SAVERLIBS),$(SCOLIBS) $(HP_NULL_STR))
108
109 #ifdef INSTALL_SETUID
110 #undef  InstallProgram
111 #define InstallProgram(p,d) InstallProgramWithFlags(p,d,$(HP_NULL_STR))
112 #endif
113
114 ComplexProgramTarget_2(xscreensaver-command,$(COMMLIBS),$(HP_NULL_STR))
115
116 InstallAppDefaults(XScreenSaver)
117
118 xscreensaver.o: XScreenSaver.ad.h $(UTILS)/version.h
119 xscreensaver-command.o: $(UTILS)/version.h
120
121 demo.o: $(UTILS)/version.h
122 lock.o: $(UTILS)/version.h
123
124 /* build this before calling makedepend */
125 depend:: XScreenSaver.ad.h
126
127 XScreenSaver.ad.h: XScreenSaver.ad
128         $(UTILS)/ad2c XScreenSaver.ad > XScreenSaver.ad.h
129
130 clean::
131         $(RM) XScreenSaver.ad.h
132
133
134 #if defined(SparcArchitecture) || defined(SGIArchitecture)
135 # undef  UsePurify
136 # define UsePurify
137 #endif
138
139 #ifdef UsePurify
140         PURIFY = purify
141  PURIFYOPTIONS = 
142
143 # undef  PurifyProgramTarget
144 # define PurifyProgramTarget(program,deplist,linklist)                  @@\
145 program.pure: deplist                                                   @@\
146         RemoveTargetProgram($@)                                         @@\
147         $(CCENVSETUP) $(PURIFY) $(PURIFYOPTIONS) $(CC)                    \
148           -o $@ $(LDOPTIONS) linklist $(EXTRA_LOAD_FLAGS)
149
150 PurifyProgramTarget(xscreensaver,$(OBJS1),$(OBJS1) MOTIF_LIB $(SAVERLIBS))
151
152 #endif /* Purify */