# # Tests makefile for Objective-C Class Library # Copyright (C) 1993, 1995, 1996 Free Software Foundation, Inc. # # Written by: Andrew Kachites McCallum # Dept. of Computer Science, U. of Rochester, Rochester, NY 14627 # # This file is part of the GNU Objective-C Class Library. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. SHELL = /bin/sh #### Start of system configuration section. #### srcdir = @srcdir@ VPATH = @srcdir@ CC = @CC@ CFLAGS = -Wall -Wno-implicit -Wno-format -g -O CPPFLAGS = LDFLAGS = DYNAMIC_BUNDLER_LINKER=@DYNAMIC_BUNDLER_LINKER@ DYNAMIC_LDFLAGS=@DYNAMIC_LDFLAGS@ DYNAMIC_CFLAGS=@DYNAMIC_CFLAGS@ DEFS = @DEFS@ LIBS = -L../src -l$(LIBRARY_NAME) @LIBOBJC@ @LIBS@ -lm EXEEXT = OEXT = .o LIBEXT = .a #### End of system configuration section. #### include $(srcdir)/../Makeconf include $(srcdir)/../Version # Not needed anymore? NEXT_NEXT_INCLUDES = -I/usr/include GNU_NEXT_INCLUDES = -I$(srcdir)/../src NEXT_INCLUDES = @NEXT_INCLUDES@ ALL_CPPFLAGS = -I../src -I$(srcdir)/../src $(NEXT_INCLUDES) $(CPPFLAGS) ALL_CFLAGS = $(CFLAGS) ALL_OBJCFLAGS = $(CFLAGS) -Wno-protocol ALL_LDFLAGS = $(LDFLAGS) $(LIBS) .SUFFIXES: .m .m$(OEXT): $(CC) -c $(ALL_CPPFLAGS) $(DEFS) $(ALL_OBJCFLAGS) $< -o $*$(OEXT) .c$(OEXT): $(CC) -c $(ALL_CPPFLAGS) $(DEFS) $(ALL_CFLAGS) $< -o $*$(OEXT) SRCS = \ test01.m \ test02.m \ heap.m \ nxst.m \ randoms.m \ prepend.m \ pipes.m \ server.m \ client.m \ string.m \ values.m \ nsarray.m \ nsbundle.m \ nsdictionary.m \ nsset.m \ nsprocessinfo.m \ nsarchiver.m \ invocation.m \ diningPhilosophers.m \ nsmaptable.m \ nshashtable.m \ tcpport-server.m \ tcpport-client.m \ nsnotification.m \ nstimer.m \ coder.m \ cstream.m \ fref.m # nsarchiving.m tcpport: FORCE (cd ../src; $(MAKE)) $(MAKE) tcpport-server tcpport-client remote: FORCE (cd ../src; $(MAKE)) $(MAKE) server client HDRS = \ server.h EXCS = $(SRCS:.m=) EXECS = $(SRCS:.m=$(EXEEXT)) BUNDLE_NAME=LoadMe DYNAMIC_MFILES = \ LoadMe.m \ MyCategory.m \ SecondClass.m DYNAMIC_HFILES = \ LoadMe.h \ MyCategory.h \ SecondClass.h DYNAMIC_OFILES = $(DYNAMIC_MFILES:.m=$(OEXT)) RCS_FILES = $(SRCS) $(HDRS) $(DYNAMIC_MFILES) $(DYNAMIC_HFILES) \ Makefile.in NXStringTable.example Makefile.sed.nt DIST_FILES = $(RCS_FILES) # type 'make bundles' if you also want to check bundles. all: $(EXCS) # This works for GNU make, but not others. %: %$(OEXT) ../src/lib$(LIBRARY_NAME)$(LIBEXT) $(CC) $(ALL_CFLAGS) $@$(OEXT) -o $@ $(ALL_LDFLAGS) ../src/lib$(LIBRARY_NAME)$(LIBEXT): @echo You must first make the library $(LIBRARY_NAME). @false install: uninstall: echo-excs: @echo $(EXCS) # These next few lines give an example of how to compile, link and store # a bundle. bundles: $(BUNDLE_NAME).bundle/$(BUNDLE_NAME) $(DYNAMIC_OFILES): $(DYNAMIC_MFILES) $(DYNAMIC_HFILES) $(CC) -c $(ALL_CPPFLAGS) $(DEFS) $(DYNAMIC_CFLAGS) $(ALL_OBJCFLAGS) \ $(srcdir)/$*.m -o $*$(OEXT) $(BUNDLE_NAME).bundle/$(BUNDLE_NAME): $(DYNAMIC_OFILES) -mkdir $(BUNDLE_NAME).bundle -mkdir $(BUNDLE_NAME).bundle/English.lproj $(DYNAMIC_BUNDLER_LINKER) -o $(BUNDLE_NAME).bundle/$(BUNDLE_NAME) \ $(DYNAMIC_OFILES) cp $(srcdir)/NXStringTable.example $(BUNDLE_NAME).bundle/English.lproj mostlyclean: rm -f core *~ test08.data textcoder.txt clean: mostlyclean rm -f *$(OEXT) $(EXECS) rm -rf $(BUNDLE_NAME).bundle distclean: clean rm -f Makefile config.status realclean: distclean rm -f TAGS copy-dist: $(DIST_FILES) mkdir ../snap/checks ln $(DIST_FILES) ../snap/checks Makefile: $(srcdir)/Makefile.in cd ..; $(SHELL) config.status FORCE: