Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: Question about Mame Compiler options  (Read 1915 times)

0 Members and 1 Guest are viewing this topic.

mscromer

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 28
  • Last login:March 11, 2009, 12:49:35 pm
Question about Mame Compiler options
« on: February 04, 2008, 10:21:40 pm »
What do clean compile and disable werror do, and should I use them?

headkaze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2943
  • Last login:August 14, 2023, 02:00:48 am
  • 0x2b|~0x2b?
Re: Question about Mame Compiler options
« Reply #1 on: February 04, 2008, 10:28:50 pm »
What do clean compile and disable werror do, and should I use them?

Clean compile deletes the obj folder so everything is rebuilt from scratch.

WError removes a makefile option that stops < Mame 0.118u5 being compiled using the version of GCC it uses.

In standard use you dont need clean compile and you only need WError for compiling Mame version 0.118u5 or less.

u_rebelscum

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3633
  • Last login:April 21, 2010, 03:06:26 pm
  • You rebel scum
    • Mame:Analog+
Re: Question about Mame Compiler options
« Reply #2 on: February 05, 2008, 04:56:04 pm »
Clean compile deletes the obj folder so everything is rebuilt from scratch....

In standard use you dont need clean compile....

That second statement might be mistaken as covering more than it does.

For example if you compile, say, the u2 release (after patching in u1 & u2 diffs of course) then a week later patch in the u3 release, you do need to do a "make clean" before you compile again.  That's pretty "standard", IMO.

When no need to clean:
-first time compiling in a previously empty folder (aka a folder that doesn't have an objs folder)
-edits only to the *.c files

When need to clean:
-most edits in the makefile or other *.mak files (except for stuff like -werror)
-change the compile optimize level (see prior line)
-any of the *.h files are changed since last compile (for mame + mingw at least)

As a general rule, you need to make clean whenever you make a change that changes the output of some part being compiled that isn't recompiled automatically on a normal make.  Knowing when and which these occur is harder, so for many people the rules as above, or a simple "don't make clean unless I get a compile error". :P
Robin
Knowledge is Power