| 1 | # $Id: makefile,v 1.16 2000-03-18 19:48:53 sandervl Exp $
|
|---|
| 2 |
|
|---|
| 3 | #
|
|---|
| 4 | # Odin32 API
|
|---|
| 5 | #
|
|---|
| 6 | # msvcrt.dll makefile
|
|---|
| 7 | #
|
|---|
| 8 |
|
|---|
| 9 | # Directory macros.
|
|---|
| 10 | PDWIN32_INCLUDE = ..\..\include
|
|---|
| 11 | PDWIN32_LIB = ..\..\lib
|
|---|
| 12 | PDWIN32_BIN = ..\..\$(OBJDIR)
|
|---|
| 13 | PDWIN32_TOOLS = ..\..\tools\bin
|
|---|
| 14 |
|
|---|
| 15 |
|
|---|
| 16 | # Compiler, tools, and interference rules.
|
|---|
| 17 | !include $(PDWIN32_INCLUDE)/pdwin32.mk
|
|---|
| 18 |
|
|---|
| 19 |
|
|---|
| 20 | # Flag overloads and local macros.
|
|---|
| 21 | CLEANEXTRAS = msvcrtrsrc.asm msvcrt20rsrc.asm msvcrt40rsrc.asm \
|
|---|
| 22 | $(PDWIN32_BIN)\msvcrt.dll $(PDWIN32_LIB)\msvcrt.lib \
|
|---|
| 23 | $(PDWIN32_BIN)\msvcrt20.dll $(PDWIN32_LIB)\msvcrt20.lib \
|
|---|
| 24 | $(PDWIN32_BIN)\msvcrt40.dll $(PDWIN32_LIB)\msvcrt40.lib
|
|---|
| 25 |
|
|---|
| 26 |
|
|---|
| 27 | # Object files. All objects should be prefixed with $(OBJDIR)!
|
|---|
| 28 | OBJS = \
|
|---|
| 29 | $(OBJDIR)\msvcrt.obj \
|
|---|
| 30 | $(OBJDIR)\util.obj \
|
|---|
| 31 | $(OBJDIR)\$(TARGET)rsrc.obj \
|
|---|
| 32 | $(PDWIN32_LIB)\dllentry.obj
|
|---|
| 33 |
|
|---|
| 34 |
|
|---|
| 35 | !ifndef TARGET
|
|---|
| 36 |
|
|---|
| 37 | # Dummy all rule - if not both all and lib will be invoked when
|
|---|
| 38 | # invoking nmake without a target.
|
|---|
| 39 | _all: all
|
|---|
| 40 |
|
|---|
| 41 |
|
|---|
| 42 | # All and lib rules - builds all targets by reinvoking make with target macro set.
|
|---|
| 43 | all lib:
|
|---|
| 44 | $(MAKE_CMD) TARGET=msvcrt $@
|
|---|
| 45 | $(MAKE_CMD) TARGET=msvcrt20 $@
|
|---|
| 46 | $(MAKE_CMD) TARGET=msvcrt40 $@
|
|---|
| 47 |
|
|---|
| 48 |
|
|---|
| 49 | !else
|
|---|
| 50 |
|
|---|
| 51 |
|
|---|
| 52 | # Real all rule - build objs, target dll, copies dll to bin and makes libs.
|
|---|
| 53 | all: $(OBJDIR) \
|
|---|
| 54 | $(OBJDIR)\$(TARGET).dll \
|
|---|
| 55 | $(PDWIN32_BIN)\$(TARGET).dll \
|
|---|
| 56 | lib
|
|---|
| 57 |
|
|---|
| 58 |
|
|---|
| 59 | # Real lib rule - build importlibrary (and evt. other libs)
|
|---|
| 60 | lib: $(TARGET).lib $(PDWIN32_LIB)\$(TARGET).lib
|
|---|
| 61 |
|
|---|
| 62 | !endif
|
|---|
| 63 |
|
|---|
| 64 |
|
|---|
| 65 | # Dll rule - builds the target dll.
|
|---|
| 66 | $(OBJDIR)\$(TARGET).dll: $(OBJS) $(TARGET).def $(OBJDIR)\$(TARGET).lrf
|
|---|
| 67 | -4 $(LD2) $(LD2FLAGS) @$(OBJDIR)\$(TARGET).lrf
|
|---|
| 68 |
|
|---|
| 69 |
|
|---|
| 70 | # Linker file - creates the parameter file passed on to the linker.
|
|---|
| 71 | $(OBJDIR)\$(TARGET).lrf: makefile
|
|---|
| 72 | @echo Creating file <<$@
|
|---|
| 73 | /OUT:$(OBJDIR)\$(TARGET).dll
|
|---|
| 74 | /MAP:$(OBJDIR)\$(TARGET).map
|
|---|
| 75 | $(OBJS)
|
|---|
| 76 | $(PDWIN32_LIB)/kernel32.lib
|
|---|
| 77 | $(PDWIN32_LIB)/crtdll.lib
|
|---|
| 78 | $(PDWIN32_LIB)/odincrt.lib
|
|---|
| 79 | OS2386.LIB
|
|---|
| 80 | $(RTLLIB_O)
|
|---|
| 81 | $(TARGET).def
|
|---|
| 82 | <<keep
|
|---|
| 83 |
|
|---|
| 84 |
|
|---|
| 85 | # Dep rule - makes depenencies for C, C++ and Asm files.
|
|---|
| 86 | dep:
|
|---|
| 87 | $(DEPEND) -I$(PDWIN32_INCLUDE);$(PDWIN32_INCLUDE)\win \
|
|---|
| 88 | *.c *.cpp *.h *.asm *.inc $(PDWIN32_INCLUDE)\*.h
|
|---|
| 89 |
|
|---|
| 90 |
|
|---|
| 91 | # Dummy target used for clean
|
|---|
| 92 | !ifndef TARGET
|
|---|
| 93 | TARGET = msvcrt
|
|---|
| 94 | !endif
|
|---|
| 95 |
|
|---|
| 96 |
|
|---|
| 97 | # Includes the common rules.
|
|---|
| 98 | !include $(PDWIN32_INCLUDE)/pdwin32.post
|
|---|
| 99 |
|
|---|