123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 |
- # OpenDoors 6.23
- # (C} Copyright 1991 - 1997 by Brian Pirie. All Rights Reserved.
- #
- # Oct-2001 door32.sys/socket modifications by Rob Swindell (www.synchro.net}
- #
- #
- # File: Win32.mak
- #
- # Description: Makefile used to build the Win32 OpenDoors libraries from
- # the sources. Usage is described below.
- #
- # Revisions: Date Ver Who Change
- # ---------------------------------------------------------------
- # Aug 09, 2003 6.23 SH *nix port
- #
- ###############################################################################
- #
- # USAGE INFORMATION
- #
- ###############################################################################
- #
- # Command Line: make -fWin32.mak
- # or
- # nmake /f Win32.mak
- #
- ###############################################################################
- #
- # CONFIGURATION
- #
- # Customize this section of the makefile to provide the relevant information
- # for your compiler, assembler (if any} and build environment.
- #
- ###############################################################################
- # Compiler executable file name. Use:
- #
- # tcc - For Borland Turbo C and Turbo C++
- # bcc - For Borland C++
- # cl - For Microsoft compilers
- #
- CC := gcc
- #
- #------------------------------------------------------------------------------
- #
- # Linker executable file name. Use:
- #
- # tlink - For Borland compilers
- # link - For Microsoft compilers
- #
- # Get OS name
- OS := $(shell uname)
- os := $(shell echo $(OS) | tr '[A-Z]' '[a-z]' | tr ' ' '_')
- OBJDIR := objs-$(OS)/
- LIBDIR := libs-$(OS)/
- EXEDIR := exe-$(OS)/
- LD := gcc
- ifdef DEBUG
- CFLAGS += -g -DOD_DEBUG
- BUILDTYPE := debug
- else
- BUILDTYPE := release
- endif
- #
- #------------------------------------------------------------------------------
- #
- # Compiler command-line flags.
- #
- CFLAGS += -fPIC
- LDFLAGS += -fPIC
- CFLAGS += -O2 -L${LIBDIR} -I../xpdev -Wall
- ifeq ($(OS),Darwin)
- CFLAGS += -D__unix__
- LDFLAGS += $(CFLAGS) -dynamiclib -single_module
- else
- LDFLAGS += $(CFLAGS) -shared
- endif
- ifeq ($(shell if [ -f /usr/include/inttypes.h ] ; then echo YES ; fi),YES)
- CFLAGS += -DHAS_INTTYPES_H
- endif
- # /MTd /Zi - for debug
- #
- #------------------------------------------------------------------------------
- #
- # Link flags.
- #
- LDFLAGS += -L../xpdev/$(LD).$(os).lib.$(BUILDTYPE)
- #
- #------------------------------------------------------------------------------
- #
- # Output directories. customize for your own preferences. Note that trailing
- # backslash (\} characters are required.
- #
- SHLIB := .so
- STATICLIB := .a
- OBJFILE := .o
- ifdef PROFILE
- CFLAGS += -pg
- SHLIB := _p${SHLIB}
- STATICLIB := _p.a
- endif
- #
- ###############################################################################
- #
- # DEPENDENCIES
- #
- # You won't normally have to change anything after this point in this makefile.
- #
- ###############################################################################
- #
- # Define primary target.
- #
- all: ${OBJDIR} ${LIBDIR} $(EXEDIR) ${LIBDIR}libODoors${SHLIB} \
- ${LIBDIR}libODoors${STATICLIB}
- #
- #------------------------------------------------------------------------------
- #
- # Name of all headers.
- #
- HEADERS= ${HEADERDIR}ODCom.h\
- ${HEADERDIR}ODCore.h\
- ${HEADERDIR}ODGen.h\
- ${HEADERDIR}ODInEx.h\
- ${HEADERDIR}ODInQue.h\
- ${HEADERDIR}ODKrnl.h\
- ${HEADERDIR}ODPlat.h\
- ${HEADERDIR}ODRes.h\
- ${HEADERDIR}ODScrn.h\
- ${HEADERDIR}ODStat.h\
- ${HEADERDIR}ODSwap.h\
- ${HEADERDIR}ODTypes.h\
- ${HEADERDIR}ODUtil.h\
- ${HEADERDIR}OpenDoor.h
- #
- #------------------------------------------------------------------------------
- #
- # Build DLL from objects.
- #
- OBJECTS := ${OBJDIR}ODAuto${OBJFILE}\
- ${OBJDIR}ODBlock${OBJFILE}\
- ${OBJDIR}ODCFile${OBJFILE}\
- ${OBJDIR}ODCmdLn${OBJFILE}\
- ${OBJDIR}ODCom${OBJFILE}\
- ${OBJDIR}ODCore${OBJFILE}\
- ${OBJDIR}ODDrBox${OBJFILE}\
- ${OBJDIR}ODEdit${OBJFILE}\
- ${OBJDIR}ODEdStr${OBJFILE}\
- ${OBJDIR}ODEmu${OBJFILE}\
- ${OBJDIR}ODGetIn${OBJFILE}\
- ${OBJDIR}ODGraph${OBJFILE}\
- ${OBJDIR}ODInEx1${OBJFILE}\
- ${OBJDIR}ODInEx2${OBJFILE}\
- ${OBJDIR}ODInQue${OBJFILE}\
- ${OBJDIR}ODKrnl${OBJFILE}\
- ${OBJDIR}ODList${OBJFILE}\
- ${OBJDIR}ODLog${OBJFILE}\
- ${OBJDIR}ODMulti${OBJFILE}\
- ${OBJDIR}ODPlat${OBJFILE}\
- ${OBJDIR}ODPCB${OBJFILE}\
- ${OBJDIR}ODPopup${OBJFILE}\
- ${OBJDIR}ODPrntf${OBJFILE}\
- ${OBJDIR}ODRA${OBJFILE}\
- ${OBJDIR}ODScrn${OBJFILE}\
- ${OBJDIR}ODSpawn${OBJFILE}\
- ${OBJDIR}ODStand${OBJFILE}\
- ${OBJDIR}ODStat${OBJFILE}\
- ${OBJDIR}ODStr${OBJFILE}\
- ${OBJDIR}ODUtil${OBJFILE}\
- ${OBJDIR}ODWCat${OBJFILE}\
- ${OBJDIR}ODWin${OBJFILE}
- # ${OBJDIR}ODoor.res
- # ${OBJDIR}odsys${OBJFILE}\ this file is missing
- ${OBJDIR}:
- mkdir -p ${OBJDIR}
- ${LIBDIR}:
- mkdir -p ${LIBDIR}
- ${EXEDIR}:
- mkdir -p ${EXEDIR}
- $(OBJDIR)%$(OBJFILE) : %.c
- $(CC) $(CFLAGS) -o $@ -c $<
- ${LIBDIR}libODoors${SHLIB} : ${OBJECTS}
- $(LD) $(LDFLAGS) -o ${LIBDIR}libODoors${SHLIB}.6.2 ${OBJECTS}
- ln -fs libODoors${SHLIB}.6.2 ${LIBDIR}libODoors${SHLIB}
- ${LIBDIR}libODoors${STATICLIB} : ${OBJECTS}
- ar -r ${LIBDIR}libODoors${STATICLIB} ${OBJECTS}
- ranlib ${LIBDIR}libODoors${STATICLIB}
-
- #
- #------------------------------------------------------------------------------
|