home *** CD-ROM | disk | FTP | other *** search
Makefile | 1992-11-25 | 2.6 KB | 120 lines |
- #=========================================================
- #
- # nmake - build DEBUG version (default)
- # nmake SHIP=1 - build ship version (nmake clean first!)
- #
- #=========================================================
- #
- # Default definitions
- #
- NAME=makemdi
- MODEL=M
-
- !if "$(SHIP)"==""
- SHIP=0
- !endif
-
- DEFS=-DSTRICT -DWINDOWS
-
- #=========================================================
- #
- # Debug options
- #
- !if $(SHIP)==0
- #
- # CodeView only:
- #
- DEBUG_CFLAGS=/DDEBUG /Od /Zi -Yd
- DEBUG_AFLAGS=/DDEBUG /Zi
- DEBUG_LFLAGS=/CO /M /LI
- #
- # symdeb/wdeb386:
- #
- # DEBUG_CFLAGS=/DDEBUG /Od
- # DEBUG_AFLAGS=/DDEBUG
- # DEBUG_LFLAGS=/MAP
- # DEBUG_MAPSYM=mapsym $(NAME)
- !else
- #
- # Non-debug options
- #
- DEBUG_CFLAGS=/DNDEBUG /Oegilt
- DEBUG_AFLAGS=
- DEBUG_LFLAGS=
- DEBUG_MAPSYM=
- !endif
-
- #=========================================================
- #
- # Default compiler, assembler, linker flags
- #
- CFLAGS=$(DEBUG_CFLAGS) /nologo /W3 /A$(MODEL) /G2swc /Zp $(DEFS)
- AFLAGS=$(DEBUG_AFLAGS) /W2 /p $(DEFS)
- LFLAGS=$(DEBUG_LFLAGS) /NOD /NOE
-
- #=========================================================
- #
- # Libraries
- #
- LIBS=libw $(MODEL)libcew commdlg
-
- #=========================================================
- #
- # Build rules
- #
- .SUFFIXES: .c .asm .rc .obj .res
-
- .c.obj:
- @echo Compiling $(@B).c
- @cl -Yu$(NAME).h $(CFLAGS) -c $*.c > $(@B).err
-
- .asm.obj:
- @masm $(AFLAGS) $*.asm;
-
- .rc.res:
- @rc /r $*.rc
-
- #=========================================================
- #
- # Pseudo targets
- #
- target: $(NAME).exe
-
- clean:
- -del *.obj
- -del *.pch
- -del $(NAME).exe
- -del $(NAME).res
- -del $(NAME).sym
- -del $(NAME).map
-
- #=========================================================
- #
- # File dependencies
- #
- OBJ= app.obj client.obj
- CLASSES= frame.obj ribbon.obj chart.obj sheet.obj
-
- $(NAME).res: $(NAME).rc resource.h $(CLASSES:obj=rc)
- app.obj: app.c $(NAME).h resource.h $(OBJ:obj=h) $(CLASSES:obj=h)
- client.obj: client.c $(NAME).h resource.h $(OBJ:obj=h) $(CLASSES:obj=h)
- frame.obj: frame.c $(NAME).h resource.h $(OBJ:obj=h) $(CLASSES:obj=h)
- ribbon.obj: ribbon.c $(NAME).h resource.h $(OBJ:obj=h) $(CLASSES:obj=h)
- chart.obj: chart.c $(NAME).h resource.h $(OBJ:obj=h) $(CLASSES:obj=h)
- sheet.obj: sheet.c $(NAME).h resource.h $(OBJ:obj=h) $(CLASSES:obj=h)
-
- $(NAME).pch: $(NAME).c $(NAME).h resource.h $(OBJ:obj=h) $(CLASSES:obj=h)
- @echo Compiling $(@B).c
- @cl -Yc$(NAME).h $(CFLAGS) -c $*.c > $(@B).err
-
- $(NAME).exe: $(NAME).res $(NAME).pch $(OBJ) $(CLASSES) makefile $(NAME).def
- link /nologo @<<
- $(OBJ) $(CLASSES)
- $(NAME).exe
- $(NAME).map
- $(LIBS)
- $(NAME).def $(LFLAGS);
- <<
- rc $(NAME).res
- mapsym $(NAME)
-