head	1.1;
access;
symbols
	version39-45:1.1;
locks;
comment	@# @;


1.1
date	92.09.14.01.54.29;	author mwild;	state Exp;
branches;
next	;


desc
@Makefile
@


1.1
log
@Initial revision
@
text
@#
# $Id$
#
# $Log$
#
CC=gcc
CFLAGS=-O2 -DDEBUG -fforce-mem
INCS=
CSW=-c

.s.o:
	cp $< x.c
	$(CC) $(CFLAGS) -traditional -E x.c -o x.s
	$(CC) $(CFLAGS) $(INCS) $(CSW) x.s -o $@@

.s.ot:
	cp $< x.c
	$(CC) $(CFLAGS) -traditional -DTRACE_LIBRARY -E x.c -o x.s
	$(CC) $(CFLAGS) $(INCS) $(CSW) x.s -o $@@

.c.o:
	$(CC) $(CFLAGS) $(INCS) $(CSW) $<

.c.ot:
	$(CC) $(CFLAGS) -DTRACE_LIBRARY $(INCS) $(CSW) $< -o $@@


all: ixemul.library

SRCS =  start.s version.c __close.c __fioctl.c __fselect.c __fstat.c __init_std_packet.c \
	__ioctl.c __ioerr_to_errno.c __lock.c __make_link.c __mclose.c __mread.c \
	__open.c __plock.c __read.c __swrite.c __tioctl.c __unlock.c \
	__wait_packet.c __write.c access.c chdir.c chmod.c chown.c close.c creat.c \
	fchmod.c fsync.c ftime.c ftruncate.c getegid.c geteuid.c getgid.c \
	getgrgid.c getgroups.c gethostname.c getpagesize.c getpgrp.c getpid.c \
	getppid.c getpriority.c getpwnam.c getpwuid.c getrlimit.c gettimeofday.c \
	getuid.c initgroups.c ioctl.c isatty.c ix_close.c ix_expunge.c ix_init.c \
	ix_open.c link.c lseek.c malloc.c mkdir.c open.c read.c \
	readlink.c readv.c rename.c rmdir.c select.c setgroups.c setpgrp.c \
	setpriority.c setrlimit.c settimeofday.c stat.c symlink.c truncate.c \
	umask.c unlink.c utime.c utimes.c write.c writev.c \
	ix_panic.c kern_sig.c machdep.c trap.s dsyscall.c kern_time.c ix_timer.c \
	kern_descrip.c ix_startup.c _cli_parse.c _wb_parse.c _main.c \
	createextio.c createport.c createstdio.c createtask.c \
	deleteextio.c deleteport.c deletestdio.c deletetask.c \
	getrusage.c exit.c __pipe.c pipe.c ix_get_vars.c convert_dir.c \
	opendir.c readdir.c rewinddir.c closedir.c telldir.c seekdir.c \
	ix_patch_functions.c __load_seg.c mathsup.c kmalloc.c \
	ix_get_vars2.c ix_exec_entry.c vfork.c ix_sleep.c profil.c ptrace.c \
	__amiga_filehandle.c fchdir.c getgrent.c get_file.c ix_resident.c \
	posixconf.c ix_stubs.c statfs.c buddy-alloc.c ix_sigwinch.c

OBJS =  version.o __close.o __fioctl.o __fselect.o __fstat.o __init_std_packet.o \
	__ioctl.o __ioerr_to_errno.o __lock.o __make_link.o __mclose.o __mread.o \
	__open.o __plock.o __read.o __swrite.o __tioctl.o __unlock.o \
	__wait_packet.o __write.o access.o chdir.o chmod.o chown.o close.o creat.o \
	fchmod.o fsync.o ftime.o ftruncate.o getegid.o geteuid.o getgid.o \
	getgrgid.o getgroups.o gethostname.o getpagesize.o getpgrp.o getpid.o \
	getppid.o getpriority.o getpwnam.o getpwuid.o getrlimit.o gettimeofday.o \
	getuid.o initgroups.o ioctl.o isatty.o ix_close.o ix_expunge.o ix_init.o \
	ix_open.o link.o lseek.o malloc.o mkdir.o open.o read.o \
	readlink.o readv.o rename.o rmdir.o select.o setgroups.o setpgrp.o \
	setpriority.o setrlimit.o settimeofday.o stat.o symlink.o truncate.o \
	umask.o unlink.o utime.o utimes.o write.o writev.o \
	ix_panic.o kern_sig.o machdep.o trap.o kern_time.o ix_timer.o \
	kern_descrip.o ix_startup.o _cli_parse.o _wb_parse.o _main.o \
	createextio.o createport.o createstdio.o createtask.o \
	deleteextio.o deleteport.o deletestdio.o deletetask.o \
	getrusage.o exit.o __pipe.o pipe.o ix_get_vars.o convert_dir.o \
	opendir.o readdir.o rewinddir.o closedir.o telldir.o seekdir.o \
	ix_patch_functions.o __load_seg.o mathsup.o kmalloc.o \
	ix_get_vars2.o ix_exec_entry.o vfork.o ix_sleep.o profil.o ptrace.o \
	__amiga_filehandle.o fchdir.o getgrent.o get_file.o ix_resident.o \
	posixconf.o ix_stubs.o statfs.o buddy-alloc.o ix_sigwinch.o

OBJS1_N = start.o tracecntl.o
OBJS1_T = start.ot tracecntl.ot

ixemul.library: $(OBJS1_N) $(OBJS) ../string/libstring.a ../gen_library/libgen.a ../stdlib/libstdlib.a ../gnulib/libgnu.a proj-data ../stdio_2/libstdio.a
#	gcc2 -nostdlib -Xlinker -u -Xlinker Start $(OBJS1_N) $(OBJS) ../string/libstring.a ../gen_library/libgen.a ../stdlib/libstdlib.a ../gnulib/libgnu.a ../gnulib20/libgnu20.a ../stdio_2/libstdio.a -o ixemul.library -ldebug -lsmall
	gcc2 -nostdlib -Xlinker -u -Xlinker Start $(OBJS1_N) $(OBJS) ../string/libstring.a ../gen_library/libgen.a ../stdlib/libstdlib.a ../gnulib/libgnu.a ../gnulib20/libgnu20.a ../stdio_2/libstdio.a -o ixemul.library debugstub.o
	copy ixemul.library /libs

ixemul.trace: $(OBJS1_T) $(OBJS) ../string/libstring.a ../gen_library/libgen.a ../stdlib/libstdlib.a ../gnulib/libgnu.a proj-data ../stdio_2/libstdio.a
#	gcc2 -nostdlib -Xlinker -u -Xlinker Start $(OBJS1_T) $(OBJS) ../string/libstring.a ../gen_library/libgen.a ../stdlib/libstdlib.a ../gnulib/libgnu.a ../gnulib20/libgnu20.a ../stdio_2/libstdio.a -o ixemul.trace -ldebug -lsmall
	gcc2 -nostdlib -Xlinker -u -Xlinker Start $(OBJS1_T) $(OBJS) ../string/libstring.a ../gen_library/libgen.a ../stdlib/libstdlib.a ../gnulib/libgnu.a ../gnulib20/libgnu20.a ../stdio_2/libstdio.a -o ixemul.trace debugstub.o
	copy ixemul.trace /libs

both:	ixemul.library ixemul.trace

loadlib:
	gcc2 -nostdlib -Xlinker -u -Xlinker Start $(OBJS1_N) $(OBJS) ../string/libstring.a ../gen_library/libgen.a ../stdlib/libstdlib.a ../gnulib/libgnu.a ../gnulib20/libgnu20.a ../stdio_2/libstdio.a -o ixemul.library debugstub.o
	copy ixemul.library /libs

loaddeb:
	gcc2 -nostdlib -Xlinker -u -Xlinker Start $(OBJS1_N) $(OBJS) ../string/libstring.a ../gen_library/libgen.a ../stdlib/libstdlib.a ../gnulib/libgnu.a ../gnulib20/libgnu20.a ../stdio_2/libstdio.a -o ixemul.library -ldebug -lsmall
	copy ixemul.library /libs

clean:
	rm -f $(OBJS)

dep: $(SRCS)
	gcc >deps -MM $(INCS) $(SRCS)

# revision/version control

start.o: start.s version.h syscall.def
start.ot: start.s version.h syscall.def

# this depends on the size of struct user (besides files that need field
# from struct user)
ix_open.o: gcc:include/user.h

new-rev:
	gawk -f bumprev.awk < proj-data > proj-data.tmp
	mv -f proj-data     proj-data.bak
	mv -f proj-data.tmp proj-data
	gawk -f genvers.awk < proj-data

new-vers:
	gawk -f bumpvers.awk < proj-data > proj-data.tmp
	mv -f proj-data     proj-data.bak
	mv -f proj-data.tmp proj-data
	gawk -f genvers.awk < proj-data	

# have to omit the -fomit-frame-pointer here!
ix_timer.o: ix_timer.c
	$(CC) -O2 -fno-omit-frame-pointer -mc68000 -msoft-float -DDEBUG	-c ix_timer.c

# those may not use A4, because they call back into the main program
ix_startup.o: ix_startup.c
	$(CC) $(CFLAGS) -ffixed-a4 $(INCS) $(CSW) $*.c
_main.o: _main.c
	$(CC) $(CFLAGS) -ffixed-a4 $(INCS) $(CSW) $*.c
ix_exec_entry.o: ix_exec_entry.c
	$(CC) $(CFLAGS) -ffixed-a4 $(INCS) $(CSW) $*.c
exit.o: exit.c
	$(CC) $(CFLAGS) -ffixed-a4 $(INCS) $(CSW) $*.c
ix_resident.o: ix_resident.c
	$(CC) $(CFLAGS) -ffixed-a4 $(INCS) $(CSW) $*.c
tracecntl.o: tracecntl.c
	$(CC) $(CFLAGS) -ffixed-a4 $(INCS) $(CSW) $*.c
dsyscall.o: dsyscall.c
	$(CC) $(CFLAGS) -ffixed-a4 $(INCS) $(CSW) $*.c

#ixemul.h: ixemul.proto.h
#	$(CC) -DKERNEL -E -dD ixemul.proto.h -o ixemul.h

##########################################################################
$(OBJS) $(OBJS1_N) $(OBJS1_T): ixemul.h

@
