72 lines
1.5 KiB
Makefile
72 lines
1.5 KiB
Makefile
#
|
|
# tu58em emulator makefile
|
|
#
|
|
|
|
# get operating system name
|
|
OPSYS = $(shell uname -s)
|
|
|
|
ifeq ($(OPSYS),Darwin)
|
|
# mac: UNIX comms model, but on MACOSX
|
|
OPTIONS = -DMACOSX
|
|
LFLAGS = -lpthread
|
|
BINDIR = /usr/local/bin
|
|
else ifeq ($(OPSYS:CYGWIN%=CYGWIN),CYGWIN)
|
|
# win: WINDOWS comms model under CYGWIN (any version)
|
|
OPTIONS = -DCYGWIN -DWINCOMM
|
|
LFLAGS = -lpthread -lrt
|
|
BINDIR = /cygdrive/e/DEC/tools/exe
|
|
else ifeq ($(OPSYS),Linux)
|
|
# unix: UNIX comms model under LINUX, use PARMRK serial mode
|
|
OPTIONS = -DLINUX -DUSE_PARMRK
|
|
LFLAGS = -lpthread -lrt
|
|
BINDIR = /usr/local/bin
|
|
else # unknown environment
|
|
OPTIONS =
|
|
LFLAGS = -lpthread -lrt
|
|
BINDIR = /usr/local/bin
|
|
endif
|
|
|
|
# default program name, redefine PROG=xxx on command line if wanted
|
|
PROG = tu58em
|
|
|
|
# compiler flags and libraries
|
|
CC = gcc
|
|
CFLAGS = -I. -O3 -Wall -c $(OPTIONS)
|
|
|
|
$(PROG) : main.o tu58drive.o file.o serial.o
|
|
$(CC) -o $@ main.o tu58drive.o file.o serial.o $(LFLAGS)
|
|
|
|
config :
|
|
@echo " OPSYS = \"$(OPSYS)\""
|
|
@echo " PROG = \"$(PROG)\""
|
|
@echo " BINDIR = \"$(BINDIR)\""
|
|
@echo " CC = \"$(CC)\""
|
|
@echo " CFLAGS = \"$(CFLAGS)\""
|
|
@echo " LFLAGS = \"$(LFLAGS)\""
|
|
|
|
clean :
|
|
-rm -f *.o
|
|
-chmod a-x,ug+w,o-w *.c *.h makefile
|
|
-chmod a+rx $(PROG) $(PROG).exe
|
|
-chown `whoami` *
|
|
|
|
purge : clean
|
|
-rm -f $(PROG) $(PROG).exe
|
|
|
|
install : $(PROG)
|
|
[ -d $(BINDIR) ] && cp $< $(BINDIR)
|
|
|
|
serial.o : serial.c common.h
|
|
$(CC) $(CFLAGS) serial.c
|
|
|
|
main.o : main.c common.h
|
|
$(CC) $(CFLAGS) main.c
|
|
|
|
tu58drive.o : tu58drive.c tu58.h common.h
|
|
$(CC) $(CFLAGS) tu58drive.c
|
|
|
|
file.o : file.c common.h
|
|
$(CC) $(CFLAGS) file.c
|
|
|
|
# the end
|