Admin Panel

# Built one model of the libnix libraries - use
# make CFLAGS="what you like" to built them.
#
# Combine
#
# CFLAGS=-Wall -O3
#
#   -fbaserel -DSMALL_DATA	for small data model
#   -fbaserel32			for large baserel model
#   -m68020			for 68020 specific code
#   -m68060			for 68060 specific code
#   -m68881			for 68881 specific code
#   -DIXPATHS			for Un*x path option
#   -DDEBUG_LIB 		build a library for debugging (not recommended)

#### Start of system configuration section. ####

srcdir =	@srcdir@
VPATH =		@srcdir@

AWK =		@AWK@

#### End system configuration section ####

CURDIR = $(shell pwd)

MAKELIST=$(MAKE) -f $(CURDIR)/Makefile

SUBDIRS=nixmain nix_main misc math nix nix13 nix20 socket stack stubs

.PHONY: subdirs $(SUBDIRS)

subdirs: $(SUBDIRS)

math: nix

$(SUBDIRS):
	( mkdir -p $@; cd $@; $(MAKE) -f ../../sources/$@/Makefile V="$(V)" CFLAGS="$(CFLAGS)" )
	
all: subdirs


libamiga:
	if [ ! -d amiga ] ; then mkdir amiga ; else true ; fi
	cd amiga;$(MAKE) -f $(CURDIR)/../sources/amiga/Makefile CFLAGS="$(CFLAGS)"

filelists:
	cd $(srcdir)/math;	$(MAKELIST) SOURCEFILES="*/*.[cSC]" FLDIR=$(CURDIR)/math $(CURDIR)/math/filelist
	cd $(srcdir)/nix;	$(MAKELIST) SOURCEFILES="*/*.[cSC]" FLDIR=$(CURDIR)/nix $(CURDIR)/nix/filelist
	cd $(srcdir)/nix13;	$(MAKELIST) SOURCEFILES="*/*.[cSC]" FLDIR=$(CURDIR)/nix13 $(CURDIR)/nix13/filelist
	cd $(srcdir)/nix20;	$(MAKELIST) SOURCEFILES="*/*.[cSC]" FLDIR=$(CURDIR)/nix20 $(CURDIR)/nix20/filelist
	cd $(srcdir)/socket;	$(MAKELIST) SOURCEFILES="*/*.[cSC]" FLDIR=$(CURDIR)/socket $(CURDIR)/socket/filelist
	cd $(srcdir)/stack;	$(MAKELIST) SOURCEFILES="*.c" FLDIR=$(CURDIR)/stack $(CURDIR)/stack/filelist
	cd $(srcdir)/stubs;	$(MAKE) -f $(CURDIR)/Makefile STUBDIR=$(CURDIR)/stubs libbases/dos.c; \
		$(MAKELIST) SOURCEFILES=" \
		libbases/*.[cSC] misc/*.c libnames/* stubs/*.[cSC]" \
		FLDIR=$(CURDIR)/stubs $(CURDIR)/stubs/filelist
	cd $(srcdir)/amiga;	$(MAKELIST) SOURCEFILES="*/*.[cSC]" FLDIR=$(CURDIR)/amiga $(CURDIR)/amiga/filelist

$(FLDIR)/filelist:
	echo "#Computer generated partial Makefile-do not edit" >$(FLDIR)/filelist
	echo "OBJECTS= \\" >>$(FLDIR)/filelist
	( for file in $(SOURCEFILES); do echo $$file; done ) | \
	$(AWK) '{ if($$0 !~ /CVS/) { print substr($$0,1,length($$0)-2) ".o \\" } }' >>$(FLDIR)/filelist
	echo >>$(FLDIR)/filelist
	echo "SUBDIRS= \\" >>$(FLDIR)/filelist
	ls -d -F *|$(AWK) '/\// { if($$0 !~ /CVS/) { print substr($$0,1,length($$0)-1) " \\" } }' >>$(FLDIR)/filelist

# build stubs for library base pointers
libbases/dos.c: $(STUBDIR)/Makefile library.list
	-rm -f libbases/* libnames/*
	$(AWK) <library.list '{ sname=substr($$2,1,length($$2)-8);        \
	  fname="libbases/" sname ".c";                      \
	  print "/* Machine-generated C-file- do not edit ! */" >fname; \
	  print "#include <stabs.h>"                            >fname; \
	  print "extern char __" sname "name[];"                >fname; \
	  print "void *" $$1 "[2]={ 0l,__" sname "name };"      >fname; \
	  print "ADD2LIB(" $$1 ");"                             >fname; \
	  fname="libnames/" sname ".c";                      \
	  print "/* Machine-generated C-file- do not edit ! */" >fname; \
	  print "char __" sname "name[]=\"" $$2 "\";"           >fname;}'

clean:
	for subdir in $(SUBDIRS); do \
	( if [ -d $$subdir ] ; then (cd $$subdir; $(MAKE) -f ../../sources/$$subdir/Makefile clean) ; else true ; fi ) \
	done

veryclean:
	-rm -rf *