UNIXworkcode

1 #! gmake 2 # 3 # ***** BEGIN LICENSE BLOCK ***** 4 # Version: MPL 1.1/GPL 2.0/LGPL 2.1 5 # 6 # The contents of this file are subject to the Mozilla Public License Version 7 # 1.1 (the "License"); you may not use this file except in compliance with 8 # the License. You may obtain a copy of the License at 9 # http://www.mozilla.org/MPL/ 10 # 11 # Software distributed under the License is distributed on an "AS IS" basis, 12 # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 13 # for the specific language governing rights and limitations under the 14 # License. 15 # 16 # The Original Code is the Microline Widget Library, originally made available under the NPL by Neuron Data <http://www.neurondata.com>. 17 # 18 # The Initial Developer of the Original Code is 19 # Netscape Communications Corporation. 20 # Portions created by the Initial Developer are Copyright (C) 1998 21 # the Initial Developer. All Rights Reserved. 22 # 23 # Contributor(s): 24 # 25 # Alternatively, the contents of this file may be used under the terms of 26 # either the GNU General Public License Version 2 or later (the "GPL"), or 27 # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 28 # in which case the provisions of the GPL or the LGPL are applicable instead 29 # of those above. If you wish to allow use of your version of this file only 30 # under the terms of either the GPL or the LGPL, and not to allow others to 31 # use your version of this file under the terms of the MPL, indicate your 32 # decision by deleting the provisions above and replace them with the notice 33 # and other provisions required by the GPL or the LGPL. If you do not delete 34 # the provisions above, a recipient may use your version of this file under 35 # the terms of any one of the MPL, the GPL or the LGPL. 36 # 37 # In addition, as a special exception to the GNU GPL, the copyright holders 38 # give permission to link the code of this program with the Motif and Open 39 # Motif libraries (or with modified versions of these that use the same 40 # license), and distribute linked combinations including the two. You 41 # must obey the GNU General Public License in all respects for all of 42 # the code used other than linking with Motif/Open Motif. If you modify 43 # this file, you may extend this exception to your version of the file, 44 # but you are not obligated to do so. If you do not wish to do so, 45 # delete this exception statement from your version. 46 # 47 # ***** END LICENSE BLOCK ***** 48 49 50 # 51 # This make file was copied from ns/cmd/xfe/XfeWidgets/tests/Makefile 52 # and tweaked. A lot of the rules and logic can probably be shared. 53 # Stuff should be shared in 54 # 55 # 56 DEPTH = ../../../.. 57 58 ifdef XFE_WIDGETS_BUILD_UNUSED 59 UNUSED_CSRCS = \ 60 demo.c \ 61 prog1.c \ 62 prog2.c \ 63 prog3.c \ 64 uil1.c \ 65 util1.c \ 66 $(NULL) 67 endif 68 69 CSRCS = \ 70 $(UNUSED_CSRCS) \ 71 folder1.c \ 72 folder2.c \ 73 folder3.c \ 74 folder4.c \ 75 grid1.c \ 76 grid2.c \ 77 grid3.c \ 78 grid4.c \ 79 grid5.c \ 80 grid6.c \ 81 tree1.c \ 82 tree2.c \ 83 tree3.c \ 84 tree4.c \ 85 tree5.c \ 86 $(NULL) 87 88 REQUIRES = \ 89 Microline 90 91 PROGS = $(addprefix $(OBJDIR)/, $(CSRCS:.c=.exe)) 92 93 include $(DEPTH)/config/rules.mk 94 include $(DEPTH)/cmd/xfe/XfeWidgets/XfeWidgets.mk 95 96 all:: $(PROGS) 97 install:: $(PROGS) 98 99 LDFLAGS = 100 101 SHARED_XFE_LIBS = $(DIST)/bin/libXmL.$(DLL_SUFFIX) 102 103 STATIC_XFE_LIBS = $(DIST)/lib/libXmL.a 104 105 DIST_FLAGS = -L$(DIST)/bin 106 107 ifeq ($(OS_ARCH),AIX) 108 109 XFE_FLAGS = $(STATIC_XFE_LIBS) 110 111 else 112 113 XFE_FLAGS = $(SHARED_XFE_LIBS) 114 115 endif 116 117 ifeq ($(OS_ARCH),Linux) 118 -include $(DEPTH)/config/motif.mk 119 endif 120 121 XM_LD_FLAGS = -lMrm -lXm $(NS_MOTIF2_XP_LD_FLAGS) 122 123 X_LD_FLAGS = $(XM_LD_FLAGS) -lXt -lXmu -lXext -lX11 124 125 OS_BEFORE_FLAGS = 126 OS_AFTER_FLAGS = 127 128 ifeq ($(OS_ARCH),SunOS) 129 130 OS_BEFORE_LDFLAGS =\ 131 -L/usr/dt/lib \ 132 -L/usr/openwin/lib 133 134 OS_AFTER_LDFLAGS =\ 135 -lw \ 136 -lintl \ 137 -lsocket \ 138 -lnsl \ 139 -lgen \ 140 -lm \ 141 -ldl 142 endif 143 144 ifeq ($(OS_ARCH),AIX) 145 146 OS_BEFORE_LDFLAGS =\ 147 -L/usr/dt/lib 148 endif 149 150 ifeq ($(OS_ARCH),IRIX) 151 endif 152 153 ifeq ($(OS_ARCH),Linux) 154 155 OS_BEFORE_LDFLAGS = -L/usr/X11R6/lib 156 157 endif 158 159 ifeq ($(OS_ARCH),HP-UX) 160 161 OS_BEFORE_LDFLAGS = -L$(DIST)/bin 162 163 endif 164 165 LDFLAGS =\ 166 $(OS_BEFORE_LDFLAGS) \ 167 $(DIST_FLAGS) \ 168 $(XFE_FLAGS) \ 169 $(X_LD_FLAGS) \ 170 $(OS_AFTER_LDFLAGS) 171 172 ## 173 ## Test dependancies 174 ## 175 #OTHER_DEPS = Makefile $(XFE_FLAGS) 176 OTHER_DEPS = $(XFE_FLAGS) 177 178 ## 179 ## Resource source rule 180 ## 181 #$(OBJDIR)/%.ad.c:: %.ad # Makefile 182 # @$(MAKE_OBJDIR) 183 # @echo 'char * fallback_resources[] = {' > $@; \ 184 # ./ad2c $< >> $@; \ 185 # echo '0};' >> $@ 186 187 ## 188 ## Resource object rule 189 ## 190 #$(OBJDIR)/%.ad.o: $(OBJDIR)/%.ad.c 191 # @$(MAKE_OBJDIR) 192 # $(CC) -o $@ -c $< 193 194 ## 195 ## Binary link rule 196 ## 197 $(OBJDIR)/%.exe: $(OBJDIR)/%.o $(OTHER_DEPS) 198 @$(MAKE_OBJDIR) 199 $(XFE_PURIFY) $(CC) -o $@ $< $(LDFLAGS) 200